VBA + SetFocus sur des contrôles TEXTBOX

Signaler
Messages postés
19
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
23 mai 2012
-
Messages postés
19
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
23 mai 2012
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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.
Messages postés
19
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
23 mai 2012

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