VBA + SetFocus sur des contrôles TEXTBOX

bodylovebis Messages postés 19 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 23 mai 2012 - 22 mai 2012 à 09:08
bodylovebis Messages postés 19 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 23 mai 2012 - 23 mai 2012 à 19:35
Bonjour,

J'ai un userform qui ressemble à ceci :



Le code en a été complètement dépouillé. Voici ce qu'il en reste :

Private Sub TXTDATE_ENTER()
'    Stop
End Sub
Private Sub TXTHTVA_ENTER()
'    Stop
End Sub

Private Sub TXTChauffeur_EXIT(ByVal Cancel As MSForms.ReturnBoolean)
    FRMEncodage.TXTFact.SetFocus
End Sub
Private Sub TxtFact_exit(ByVal Cancel As MSForms.ReturnBoolean)
    FRMEncodage.TXTDate.SetFocus
End Sub


Lorsque je fait "ENTER" sur la zone TXTChauffeur, le contrôle est bien passé à la zone TXTFact. Si je fait "ENTER" sur TXTFact, le contrôle est passé au contrôle TXTTVAC et non au contrôle TXTDate.

Avez-vous une idée du problème ?

Merci d'avance.

Damien Detrain

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 mai 2012 à 12:09
Salut

Ce qui m'étonne dans ton code, c'est que le même objet, TxtFact par exemple, est écrit une fois TxtFact l'autre fois TXTFact (maj)
De même, le not EXIT est écrit avec différentes cases, mais pas la bonne : Exit
C'est étrange de la part de l'IDE.
orthographes différentes)
Aurais-tu écrit la définition de la Sub toi même ?
On dirait que qu'il ne reconnait pas l'objet (puisque deux Alors soit tu as recopié à la main le code et tu n'y a pas prêté attention, soit il y a un conflit de nom avec une variable que tu aurait appelé du même nom.

-1- Ajoute un "Option Explicit" en haut de tes pages de code
-2- Supprime la TextBox TxtFact et recrée-la

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 mai 2012 à 12:12
Petit souci de copier-coller; je reprends

...
C'est étrange de la part de l'IDE.
Aurais-tu écrit la définition de la Sub toi même ?
On dirait que qu'il ne reconnait pas l'objet (puisque deux orthographes différentes)
Alors soit tu as recopié à la main le code et tu n'y a pas prêté attention, soit il y a un conflit de nom avec une variable que tu aurait appelé du même nom.
0
bodylovebis Messages postés 19 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 23 mai 2012
23 mai 2012 à 19:35
Bonjour,

J'ai adapté le code selon vos commentaires.

Le problème est toujours présent.

Il est vrai que dans tous les tests j'ai certainement retapé des handle à la main.

Est-il possible de vous faire parvenir le fichier XLT en question via le forum ?

Bien à vous.

Damien Detrain

PS : Voici le code modifié

Option Explicit

Private Sub TXTChauffeur_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    FRMEncodage.TXTFact.SetFocus
End Sub

Private Sub TXTDate_Enter()

End Sub

Private Sub TXTFact_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    FRMEncodage.TXTDate.SetFocus
End Sub

Private Sub UserForm_Click()
    Stop
End Sub
0
Rejoignez-nous