Déplacement entre textbox

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #15301911
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"
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
Le #15306211
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" 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"
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







Youky
Le #15308501
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"
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" 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"
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
Le #15312841
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" 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"
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" 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"
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














Youky
Le #15395871
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"
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" 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"
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" 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"
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
Le #15402281
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" 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"
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" 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"
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" 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" 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





















Youky
Le #16102821
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" 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" 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"
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" 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"
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" 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" 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
























JPMonnier
Le #16103911
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" 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" 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" 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"
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" 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" 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" 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" 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




























Youky
Le #16105871
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" 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" 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" 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" 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"
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" 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" 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" 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" 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































JPMonnier
Le #16113301
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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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



































Publicité
Poster une réponse
Anonyme