Bonjour à tous,
Dans un userform, j'ai un seul textbox, destiné à saisir un code barre à l'aide d'une douchette, deux labels et deux boutons.
Ma douchette envoie les chiffres lus sur un code barre, suivi du caractère ENTER.
Je souhaite que le focus reste sur le seul textbox pour saisir plusieurs codes. Mais le caractère ENTER fait passer le focus sur le bouton suivant. Qu'à celà ne tienne, je met un textbox1.SetFocus qui est censé ramener le focus sur mon textbox. Mais...
- le setfocus n'a aucun effet. Le focus reste sur le bouton, donc plus de saisie possible, si ce n'est cliquer avec la souris dans le textbox, sauf...
- en mode pas à pas, dans ce cas, le textbox récupère le focus correctement.
J'ai essayé de modifier les propriétés de chaque contrôle sans succès.
Est-ce qu'il y a une explication rationnelle et un contournement possible de ce comportement bizzare ?
Je met le petit bout de code correspondant :
Merci à ceux-celles qui auront le temps de se pencher sur ce pb.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub TextBox1_Change() If Len(Me.TextBox1.Value) = 9 Then CodeBarre = Me.TextBox1.Value 'lancement du traitement CodeBarre = "" Me.TextBox1.Value = Null Me.TextBox1.SetFocus 'normalement, prêt à recevoir le code suivant End If End Sub
Olivier
Partager