Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déplacement entre textbox

10 réponses
Avatar
JPMonnier
Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il possible de se
déplacer d'une TextBox à l'autre avec les touches flèches de direction
(droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement
jpmonnier-no-spam@neuf.fr

10 réponses

Avatar
Youky
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il possible de
se déplacer d'une TextBox à l'autre avec les touches flèches de direction
(droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement



Avatar
JPMonnier
Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByValShift
As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il possible de
se déplacer d'une TextBox à l'autre avec les touches flèches de
direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement







Avatar
Youky
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByValShift
As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il possible
de se déplacer d'une TextBox à l'autre avec les touches flèches de
direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement










Avatar
JPMonnier
Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) + Val(Me.PTSG1) +
Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByValShift
As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il possible
de se déplacer d'une TextBox à l'autre avec les touches flèches de
direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement














Avatar
Youky
PBSF1 est bien un TextBox ?
En création faire un double click sur le Textbox et dans l'éditeur en combo
de droite choisir "KeyDown"
Verifier la ligne si bien identique
Private Sub PBSF1_KeyDown.............
Je ne vois rien qui puisse faire planter
Encore mets un point d'arret sur PBSF2.SetFocus et continue en pressant F8 à
maintes reprises pour voir si
la macro va en événement Change (elle devrait pas) ainsi tu arrives à voir
la ligne exact qui fait planter
Youky


"JPMonnier" a écrit dans le message de news:

Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) + Val(Me.PTSG1) +
Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il possible
de se déplacer d'une TextBox à l'autre avec les touches flèches de
direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement

















Avatar
JPMonnier
Merci c'est nickel
Par contre je n'ai pas tout compris !
j'ai copié ta Private sub depuis le message, rien à faire !
J'ai donc cliqué, dans l'éditeur en combo, "KeyDown"
et j'ai recopié intégralement les lignes de code de la private qui posait
problème et qui portait bien le nom
"Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)"
Qu'en penses-tu ?
Merci encore
--
Cordialement


"Youky" a écrit dans le message de
news:
PBSF1 est bien un TextBox ?
En création faire un double click sur le Textbox et dans l'éditeur en
combo de droite choisir "KeyDown"
Verifier la ligne si bien identique
Private Sub PBSF1_KeyDown.............
Je ne vois rien qui puisse faire planter
Encore mets un point d'arret sur PBSF2.SetFocus et continue en pressant F8
à maintes reprises pour voir si
la macro va en événement Change (elle devrait pas) ainsi tu arrives à voir
la ligne exact qui fait planter
Youky


"JPMonnier" a écrit dans le message de news:

Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) + Val(Me.PTSG1)
+ Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il
possible de se déplacer d'une TextBox à l'autre avec les touches
flèches de direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement





















Avatar
Youky
Oui, je viens de piger ce qui s'est passé...
Tu as bien recopié mais pas collé au bon endroit.
Sans doute collé dans un module ou ailleurs que dans le code de l'userform.
Bonne suite au programme
Youky

"JPMonnier" a écrit dans le message de news:
OS$
Merci c'est nickel
Par contre je n'ai pas tout compris !
j'ai copié ta Private sub depuis le message, rien à faire !
J'ai donc cliqué, dans l'éditeur en combo, "KeyDown"
et j'ai recopié intégralement les lignes de code de la private qui posait
problème et qui portait bien le nom
"Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)"
Qu'en penses-tu ?
Merci encore
--
Cordialement


"Youky" a écrit dans le message de
news:
PBSF1 est bien un TextBox ?
En création faire un double click sur le Textbox et dans l'éditeur en
combo de droite choisir "KeyDown"
Verifier la ligne si bien identique
Private Sub PBSF1_KeyDown.............
Je ne vois rien qui puisse faire planter
Encore mets un point d'arret sur PBSF2.SetFocus et continue en pressant
F8 à maintes reprises pour voir si
la macro va en événement Change (elle devrait pas) ainsi tu arrives à
voir la ligne exact qui fait planter
Youky


"JPMonnier" a écrit dans le message de news:

Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) + Val(Me.PTSG1)
+ Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de news:

Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il
possible de se déplacer d'une TextBox à l'autre avec les touches
flèches de direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement
























Avatar
JPMonnier
Salut Youky
Quand j'ai selectionné KeyDown, je suis bien arrivé dans le bon module de
mon Userform, il se trouvait juste au dessus de celui que j'avais copié de
ton message !
Bref, ça fonctionne et tant mieux
J'ai encore une petite question sur le KeyCode = 39
J'ai cherché sur le net et n'ai pas trouvé la correspondance du code 39 pour
la flèche droite (Ainsi que pour les autres flèches de direction)
Ou as tu dégoté ce "39"
Ce n'est pas apparemment la correspondance en code ANSI, mai alors ou les
trouver ?
Dans VBA on trouve bien les sendkey correspondant à {Right}, non utilisable
dans le cas des TextBox

Encore merci pour ton aide !
Il y a vraiement des gens cool sur ce forum (Et compétent)
--
Cordialement

"Youky" a écrit dans le message de
news:%23zjsBC$
Oui, je viens de piger ce qui s'est passé...
Tu as bien recopié mais pas collé au bon endroit.
Sans doute collé dans un module ou ailleurs que dans le code de
l'userform.
Bonne suite au programme
Youky

"JPMonnier" a écrit dans le message de news:
OS$
Merci c'est nickel
Par contre je n'ai pas tout compris !
j'ai copié ta Private sub depuis le message, rien à faire !
J'ai donc cliqué, dans l'éditeur en combo, "KeyDown"
et j'ai recopié intégralement les lignes de code de la private qui posait
problème et qui portait bien le nom
"Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)"
Qu'en penses-tu ?
Merci encore
--
Cordialement


"Youky" a écrit dans le message de
news:
PBSF1 est bien un TextBox ?
En création faire un double click sur le Textbox et dans l'éditeur en
combo de droite choisir "KeyDown"
Verifier la ligne si bien identique
Private Sub PBSF1_KeyDown.............
Je ne vois rien qui puisse faire planter
Encore mets un point d'arret sur PBSF2.SetFocus et continue en pressant
F8 à maintes reprises pour voir si
la macro va en événement Change (elle devrait pas) ainsi tu arrives à
voir la ligne exact qui fait planter
Youky


"JPMonnier" a écrit dans le message de news:

Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) +
Val(Me.PTSG1) + Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il
possible de se déplacer d'une TextBox à l'autre avec les touches
flèches de direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement




























Avatar
Youky
Elémentaire....
j'ai tout bonnement testé en mettant ......MsgBox KeyCode.....hihi
Faut pas chercher midi à 14h00
Je pense que tu peux supprimer les lignes Application.enableevents(à tester)
Youky
"JPMonnier" a écrit dans le message de news:
e$Mv2K$
Salut Youky
Quand j'ai selectionné KeyDown, je suis bien arrivé dans le bon module de
mon Userform, il se trouvait juste au dessus de celui que j'avais copié de
ton message !
Bref, ça fonctionne et tant mieux
J'ai encore une petite question sur le KeyCode = 39
J'ai cherché sur le net et n'ai pas trouvé la correspondance du code 39
pour la flèche droite (Ainsi que pour les autres flèches de direction)
Ou as tu dégoté ce "39"
Ce n'est pas apparemment la correspondance en code ANSI, mai alors ou les
trouver ?
Dans VBA on trouve bien les sendkey correspondant à {Right}, non
utilisable dans le cas des TextBox

Encore merci pour ton aide !
Il y a vraiement des gens cool sur ce forum (Et compétent)
--
Cordialement

"Youky" a écrit dans le message de
news:%23zjsBC$
Oui, je viens de piger ce qui s'est passé...
Tu as bien recopié mais pas collé au bon endroit.
Sans doute collé dans un module ou ailleurs que dans le code de
l'userform.
Bonne suite au programme
Youky

"JPMonnier" a écrit dans le message de news:
OS$
Merci c'est nickel
Par contre je n'ai pas tout compris !
j'ai copié ta Private sub depuis le message, rien à faire !
J'ai donc cliqué, dans l'éditeur en combo, "KeyDown"
et j'ai recopié intégralement les lignes de code de la private qui
posait problème et qui portait bien le nom
"Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)"
Qu'en penses-tu ?
Merci encore
--
Cordialement


"Youky" a écrit dans le message de
news:
PBSF1 est bien un TextBox ?
En création faire un double click sur le Textbox et dans l'éditeur en
combo de droite choisir "KeyDown"
Verifier la ligne si bien identique
Private Sub PBSF1_KeyDown.............
Je ne vois rien qui puisse faire planter
Encore mets un point d'arret sur PBSF2.SetFocus et continue en pressant
F8 à maintes reprises pour voir si
la macro va en événement Change (elle devrait pas) ainsi tu arrives à
voir la ligne exact qui fait planter
Youky


"JPMonnier" a écrit dans le message de news:

Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) +
Val(Me.PTSG1) + Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description
de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il
possible de se déplacer d'une TextBox à l'autre avec les touches
flèches de direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement































Avatar
JPMonnier
Elementaire mon cher Watson
Merci inspecteur
J'ai viré enableevents
C'est bon
J'ai testé aussi les msgbox keycode, pourquoi faire simple quand on peux
faire compliqué HiHi
Cest le top
Encore merci
@+

--
Cordialement


"Youky" a écrit dans le message de
news:emPxvY$
Elémentaire....
j'ai tout bonnement testé en mettant ......MsgBox KeyCode.....hihi
Faut pas chercher midi à 14h00
Je pense que tu peux supprimer les lignes Application.enableevents(à
tester)
Youky
"JPMonnier" a écrit dans le message de news:
e$Mv2K$
Salut Youky
Quand j'ai selectionné KeyDown, je suis bien arrivé dans le bon module de
mon Userform, il se trouvait juste au dessus de celui que j'avais copié
de ton message !
Bref, ça fonctionne et tant mieux
J'ai encore une petite question sur le KeyCode = 39
J'ai cherché sur le net et n'ai pas trouvé la correspondance du code 39
pour la flèche droite (Ainsi que pour les autres flèches de direction)
Ou as tu dégoté ce "39"
Ce n'est pas apparemment la correspondance en code ANSI, mai alors ou les
trouver ?
Dans VBA on trouve bien les sendkey correspondant à {Right}, non
utilisable dans le cas des TextBox

Encore merci pour ton aide !
Il y a vraiement des gens cool sur ce forum (Et compétent)
--
Cordialement

"Youky" a écrit dans le message de
news:%23zjsBC$
Oui, je viens de piger ce qui s'est passé...
Tu as bien recopié mais pas collé au bon endroit.
Sans doute collé dans un module ou ailleurs que dans le code de
l'userform.
Bonne suite au programme
Youky

"JPMonnier" a écrit dans le message de news:
OS$
Merci c'est nickel
Par contre je n'ai pas tout compris !
j'ai copié ta Private sub depuis le message, rien à faire !
J'ai donc cliqué, dans l'éditeur en combo, "KeyDown"
et j'ai recopié intégralement les lignes de code de la private qui
posait problème et qui portait bien le nom
"Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)"
Qu'en penses-tu ?
Merci encore
--
Cordialement


"Youky" a écrit dans le message de
news:
PBSF1 est bien un TextBox ?
En création faire un double click sur le Textbox et dans l'éditeur en
combo de droite choisir "KeyDown"
Verifier la ligne si bien identique
Private Sub PBSF1_KeyDown.............
Je ne vois rien qui puisse faire planter
Encore mets un point d'arret sur PBSF2.SetFocus et continue en
pressant F8 à maintes reprises pour voir si
la macro va en événement Change (elle devrait pas) ainsi tu arrives à
voir la ligne exact qui fait planter
Youky


"JPMonnier" a écrit dans le message de
news:
Voici mes 2 Private Sub

Private Sub PBSF1_Change()
Me.PTOT1 = Val(Me.PBSF1) + Val(Me.PTSF1) + Val(Me.PBSG1) +
Val(Me.PTSG1) + Val(Me.PBDF1_1) + Val( Me.PTDF1_2) _
+ Val(Me.PBDG1) + Val(Me.PTDG1) + Val(Me.PBDMF1) + Val(Me.PTDMG1)
End Sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEvents = False
PBSF2.SetFocus
Application.EnableEvents = True
End If
End Sub

J'ai toujour le même message d'erreur
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:
Private Sub.......à As Integer) est bien sur la même ligne
sinon pour annuler l'événement Change
Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then
Application.EnableEventsúlse
PBSF2.SetFocus
Application.EnableEvents=True
End If
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Merci Youky,
Jai testé avec ma Private sub

Private Sub PBSF1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByValShift As Integer)
If KeyCode = 39 Then PBSF2.SetFocus
End Sub

Le message suivant est renvoyé :
"Erreur de compilation"
"La déclaration de la procédure ne correspond pas à la description
de
l'évenement ou à la procédure du même nom"

J'ai déja une Private Sub PBSF1_Change()
Qui me met à jour un compteur dans mon Userform

Cela a t'il une incidence ?
Merci encore
--
Cordialement

"Youky" a écrit dans le message de
news:%
Bonjour,
en textbox1:
Private Sub TextBox1_KeyDown(ByVal KeyCode As
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 39 Then TextBox2.SetFocus
End Sub

en textbox2
Private Sub TextBox2_KeyDown(ByVal KeyCode As
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 39 Then TextBox3.SetFocus 'suivant
If KeyCode = 37 Then TextBox1.SetFocus 'précédent
End Sub

Youky

"JPMonnier" a écrit dans le message de
news:
Bonjour,
Dans un Userform comportant des Textbox en horizontal, est-il
possible de se déplacer d'une TextBox à l'autre avec les touches
flèches de direction (droite ou gauche)
plutot que d'utiliser la touche Tab ou Entrée
Merci d'vance
--
Cordialement