Mettre un Timer au code

Bonjour le forum,

Je reviens vers vous car je ne trouve pas de solution pour mettre un timer avant de lancer un code. Plus concrètement, je bipe avec une douche un code barre, puis le code barre s'écrit dans la txtbox, j'ai écrit un code qui me dit si la textbox a un certain nombre de caractère alors..., le problème c'est que je voudrais que le code se lance une fois que la douchette est finit d'écrire la ligne. J’ai pensé à mettre un timer mais rien ne change, il met juste en pause le code.

C'est la même chose pour les caractères, si je lui dit si txtbox="voiture" alors ... , il va activé le code dès qu'il va voir un "v".

Je voudrais donc simplement laisser à la douchette le temps d'écrire dans la textbox ce quelle a scanné. Je ne sais pas si j'ai été assez claire .

Voici mon code :

Private Sub txt_ouverture_Change()
If Len(Me.txt_ouverture.Text) = 25 Then
  Me.txt_QR_CodeOR = Me.txt_ouverture
  Me.txt_ouverture = ""
     If Len(Me.txt_QR_CodeOR.Text) = 25 Then
        Me.txt_QR_CodeOR.SetFocus
     End If
ElseIf Me.txt_ouverture = "CT FINAL" Then
  Me.txt_PosteContrôle = Me.txt_ouverture
  Me.txt_PosteContrôle.TabIndex = False
ElseIf Me.txt_ouverture = "CT ENTREE" Then
  Me.txt_PosteContrôle = Me.txt_ouverture
  Me.txt_PosteContrôle.TabIndex = False
  ElseIf Len(Me.txt_ouverture.Text) = 32 Then
  Me.txt_QRobjet = Me.txt_ouverture
  Me.txt_QREobjet.TabIndex = False
ElseIf Len(Me.txt_ouverture.Text) = 1 Then
  Me.txt_PeauComposants = Me.txt_ouverture
  Me.txt_PeauComposants.TabIndex = False
End If 
End Sub

Merci pour votre aide.

Cordialement.

bonjour,

utilise l'événement exit au lieu de change

Bonsoir h2so4,

En effet cela semble être une bonne idée, je ferais les tests lundi et je te dirais si cela fonctionne bien. Merci.

Bonjour,

Cela fonctionne très bien. merci h2so4.

Bonjour,

pour info la douchette ce comporte comme un clavier elle finit toujours par un retour chariot code ASCII 13!

tu peux le tester dans la méthode keypress.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

if KeyAscii =13 then

End if
Rechercher des sujets similaires à "mettre timer code"