Se connecter avec
S'enregistrer | Connectez-vous

passer à la cellule suivante automatiquement à chaque fois que ...

Dernière réponse : dans Programmation

Bonjour,

Après de longue recherche, je viens vers vous pour un certain aide.

Voila ce que je veux : je voudrais programmer dans une feuille excel la possibilité de passer à la cellule suivante sans avoir à taper "entrée" ou "tab" à chaque fois que la case que je suis actuellement en train de remplir atteint un nombre donné de chiffres.

Admettons que je fixe ce nombre à 2. Quand je tape, par exemple "49", la selection devrait passer automatiquement à la cellule suivante. Si je tape "529", "52" sera inscrit dans la cellule actuelle et "9" dans la cellule suivante.

Merci de m'aider à programmer cette fonction.

AGILANE.
Lassé par la pub ? Créez un compte

Je vais t'expliquer de manière plus précis. C'est des formulaires officiels de mon entreprise dont la conception ne doit pas être modifiés (pour mille raison administration). Nous, employés, avons régulièrement à remplir ces fichiers excels. Nous ne devons entrer qu'une lettre ou chiffre par cellule. Donc lorsque nous voulons entrer 21062007 pour la date par exemple, nous devons taper la flèche droite ou tab à chaque chiffre puisque nous devons entrer qu'un chiffre par cellule. Cela nous fait fait taper deux fois plus de touche.

Ce que je voudrais faire, c'est automatiser le passage à la case suivante. Dès que je tape "2", la selection doit partir automatiquement à la cellule suivante sans que j'ai à taper la touche "tab" ou "flèche droit".

Merci de m'aider.

AGILANE

Lorsqu'on installe windows ou autre logiciel et qu'on tape le serial, au bout de 5 chiffres ou lettres, le curseur passe automatiquement à la prochaine case ...

C'est un peu la même chose, sauf qu'ici, on passe à la prochaine case dès un chiffre ou lettre.

Je croise les doix et attends la réponse de zeb, sans bien sure mettre en doute les capacités de ceux qui ont eu la gentillesse de me réponse.

;) 
Expert Programmation

Non, malheureusement Agilane, je n'ai pas de réponse à te proposer. :( 

En fait, Excel est pensé comme un tableaur pour faire des claculs,
et non pas comme une interface de saisie comme beaucoup ont tendance à le faire.

(Et je ne suis pas le seul à pouvoir te répondre ;)  )

On pourrait par contre faire avec des formulaires (UserForm) ce genre de chose. Mais je ne sais pas si tu as envie de t'embarquer dans la réalisation d'une interface complexe.

Ou encore, saisir ces dates normalement et utiliser une petite macro pour les dispatcher dans les bonnes cellules au bon format.

Mais ce n'est pas trivial. Sais-tu programmer Agilane ?

Je n'ai eu aucune formation mais c'est un domaine dont je me suis beaucoup intéressé. J'ai fait des programmes relativement complexes (à mon point de vue), avec ma TI-92. A l'époque on m'avait dit que c'était une language proche de pascale.

Ces derniers temps les seuls bidouillages que je fais sont les macros et les fonctions sous excel.

Je suis partant pour que vous m'aidiez un peu. Je saurais faire la deuxième solution par moi même. Ce qui m'intéresserais le plus c'est le user form.

Si vous êtes suffisemment courageux, je suis partant.

Merci d'avantage.

Ben voilà, commence par créer le user_form avec l'ensemble des zone de saisie que tu veux. Pour cela vas dans le VBA puis affiche la fenetre projet, insertion, user_form.

Ensuite il faut que tu vois si tu préfères une zone de saisie, puis le dispatch se fait à la validation dans ton onglet Excel ou si tu préfère qu'à chaque valeur saisie le changement se fasse.

Pour cela il faut que tu regardes les evenements KeyDown KeyUp.
Lassé par la pub ? Créez un compte