Activer bouton si un des caractères du textbox est un tiret

Bonjour,

Je souhaiterai que le setfocus sur mon bouton se fasse si le 11eme caractère entré dans un textbox n'est pas un tiret ("-").

Avez vous une piste ?

Merci

Bav

Xavier

Bonjour xavierdep

Pour commencer, accordez vous dans vos idées
Le titre : Activer bouton.... / La demande : setfocus

Ca n'a rien à voir...

Pour éviter de sortir du Textbox tant que le caractère attendu n'est pas bon

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Mid(Me.TextBox1, 11, 1) = "-" Then Cancel = True
End Sub

et sinon, vous avez cet évènement

Private Sub TextBox1_AfterUpdate()

End Sub

A+

Bonjour,

merci pour votre aide, le terme n'est peut etre pas vraiment le bon mais pour moi c'est bien la fonction qu'il a grace au setfocus mon bouton devient actif. Le textbox est rempli grace au scan par doucchette, après 10 caractères il rend le bouton actif et grace à la programmation de la douchette, la fonction "enter" après le scan permet de valider l'action du bouton et passer sur le champs suivant. Aucun problème jusque là mais je dois maintenant laisser la possibilité (sans inerférer avec cette fonction 10 caractères + enter de la douchette) d'aller jusque 12 caractères uniquement si le 11ème est un "-" et ceci non plus avec l'utilisation de la douchette mais en encodage manuel

Sur base des infos que vous m'avez données voici ce que j'ai pondu

Private Sub TextBox1_Change()
If Len(Me.TextBox1.Text) > 10 And Mid(Me.TextBox1, 11, 1) <> "-" Then
MsgBox "Entrée incorrecte"
End If
If Len(Me.TextBox1.Text) = 10 Then
Me.CommandButton1.SetFocus
End If
If Len(Me.TextBox1.Text) > 11 Then
Me.CommandButton1.SetFocus
End If
End Sub

il bascule apres dix caractères mais si on réactive la textbox on peut aller jusque 12 avec uniquement un tiret en 11ème.

Il y a peut etre plus simple mais si pas celà me suffira ainsi

Merci encore

bav

Xavier

Rechercher des sujets similaires à "activer bouton caracteres textbox tiret"