Setfocus

Bonjour à tous,

Je suis confronté lorsque je saisi un nombre dans un textbox, je voudrai passer directement au textbox suivant, au premier chiffre il va directement en saisie dans le textbox suivant.

voici mon exemple :

If TextBox2 < 13 Then

Me.TextBox8.SetFocus

End If

C'est à dire quand je suis entrain de saisr dans le Textbox2 au premier chiffre il passe immédiatement en textbox8.

Qu’elle serai la solution pour lui donner l'ordre de passer au textbox 8 après saisie?

Merci de votre aide

Amicalement

Noel

Bonjour,

Tous les contrôles (y compris les contrôles passifs qui n'ont jamais le Focus) ont une propriété TabIndex

qui va de 0 à Nbre de contrôles -1

Il suffit de redéfinir cette propriété dans l'ordre ou tu souhaites que les champs soit parcourus.

A+

Bonjour galopin01 cfn3 le forum

non tu n'y est pas Galopin, c'est normal qu'il saute au textbox8 avec sa condition

il a mis if textbox2 <13 then !!!!!!! et il ne pourra jamais obtenir 13 en une seule fois tout au plus 9 !!!!

alors il faut revoir ta condition ou ta méthode je suppose que tu as mis ta condition dans un textbox2.change?

a te relire

a+

papou

PS: un petit fichier avec les explications dedans vaut mieux qu'un grand discours

Re

Bonjour Galopin, Paritec,

Effectivement, j'ai mis la condition dans "textbox2.change"

Alors Paritec tu me proposes quoi?

Parce que c'est quand je saisi dans textbox2.change que je voudrai qu'il passe à textbox8

Galopin, je ne souhaite pas parcourir les textbox par tabindex lorsque je saisi, je ne suis pas obligé de commencer par le textbox2, je peux commencer par textbox7 delà le curseur ira dans textbox13.

Merci de votre aide

Amicalement

Noel

Re cfn3 le forum

bah sans fichier !!!! bref tu peux déjà limiter ta condition avec un

 if len(textbox2)<2 then exit sub 

ce qui te donnera la possibilité de taper au moins deux caractères dans la textbox2

mais je ne sais pas ce que tu dois obtenir alors c'est une idée déjà

a te relire

a+

papou

PS: mais que dois tu taper en Textbox2 ?? impérativement 2 caractères? ou 1 seul est-il possible?? enfin avec des explications on risque de comprendre, puisque manifestement ma demande de fichier tu t'en moques!!!!! et pourtant c'est bien plus parlant avec un fichier.

Effectivement, j'ai mis la condition dans "textbox2.change"

tu le mets dans :

A voir si tu a cet évènement sur MAC, tu met ton code dans "TextBox2_Exit"

A+

Re galopin cfn3 le forum

oui aussi mais si il expliquait un peu ce qu'il souhaite obtenir ce serait plus simple de l'aider efficacement

car sa condition ne nous en apprend pas trop!

a+

papou

Oui,

Quand on cite une macro, surtout une évènementielle c'est pas idiot de mettre le texte intégral (y compris la première ligne)

Après recherche il semble que sur MAC il existe l'evènement "Exits" pour les TextBox, mais je ne sais pas exactement comment est rédigé l'en-tête. A voir dans la liste de évènements de ton TextBox car je suis toujours réfractaire au MAC...

A+

Re tous

je croyais que maintenant sous mac on pouvait travailler avec des versions PC sans problèmes avec un je ne sais pas quoi exactement mais un petit module additif je crois?? il me semblait avoir lu cela mais comme je n'ai pas de mac j'ai pas mémorisé plus que cela

a te relire

Papou

Oui ben... il a écrit :textbox2.change

Donc tout ce que je peux en déduire c'est que ça doit pas être comme chez moi puisque sur PC c'est TextBox2_Change

ou alors c'est un Copier/Coller et c'est différent du PC

ou encore il a tapé ça à l'arrache et c'est pas compatible avec la pratique du VBA... La sémantique et la syntaxe c'est capital !

A+

Bonjour,

Effectivement, j'ai mis la condition dans "textbox2.change

si j'ai bien compris ton souci, essaie en la mettant dans

TextBox2_AfterUpdate()

Amicalement

Bonjour Dan,

Juste pour pas mourir idiot...

Tu veux dire par là qu'il n'existe pas d'évènement TextBox2_Exits sur MAC ?

A+

re,

Pour Galopin,

Tu veux dire par là qu'il n'existe pas d'évènement TextBox2_Exits sur MAC ?

Si cela existe mais je ne l'ai jamais testé.

Tu as cet événement ci--> TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Amicalement

re,

Salut Dan

Je ne peux malheureusement pas envoyer le fichier car il est énorme

PS: mais que dois tu taper en Textbox2 ?? impérativement 2 caractères? ou 1 seul est-il possible?? enfin avec des explications on risque de comprendre, puisque manifestement ma demande de fichier tu t'en moques!!!!! et pourtant c'est bien plus parlant avec un fichie

r.

Dans textbox2 je peux taper 1 chiffre ou 2 chiffres c'est là tout le problème quand j'ai 2 chiffres à mettre à la première frappe du chiffre il passe automatiquement au textbox8. Alors que je voudrai lui donner une fonction quand il y a un chiffre je voudrai rajouter une fonction pour qu'il passe au Textbox8 mais avant que je lui fait exécuter la fonction.

Voici le code dans sa totalité

Private Sub TextBox2_Change()
If TextBox2 < 13 Then
Me.TextBox8.SetFocus
End If
End Sub

Quoi que sans cela je suis obligé de revenir dans le textbox2 pour retaper le 2ème chiffre si il y a un deuxième à entrer.

Merci de votre aide

Amicalement

Noel

bonjour,

Dan : Merci !

cfn3cfn :

Supprime ta macro et remplace là par :

Private Sub  TextBox2_AfterUpdate()
If TextBox2 < 13 Then
Me.TextBox8.SetFocus
End If
End Sub

A+

Re,

Quoi que sans cela je suis obligé de revenir dans le textbox2 pour retaper le 2ème chiffre si il y a un deuxième à entrer.

Noel c'est normal car l'événement textbox2_Change est déclenché dès que tu entres une données dans ta textbox2. (Il me semble que l'on en avait déjà parlé ensemble de ce truc là.... ). Le Textbox_change ne convient pas pour ce que tu veux faire.

Dans mon post précédent je te donne une solution.

Vois donc le code complet de Galopin placé avant et qui te permettra de faire ce que tu souhaites.

Amicalement

Bonjour à tous,

Je remercie vivement à tous ceux qui ont participé à me fournir la solution pour résoudre mon problème.

Dan c'est vrai qu'on en avait déjà parlé de cet affaire, mais, je ne pense que cette solution a été envisagée "Private Sub TextBox4_AfterUpdate()".

En tous cas merci de votre aide à tous

Amicalement

Noel

Rechercher des sujets similaires à "setfocus"