Forcer format de saisie textbox
Résolu
RaoulRuiz
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je cherche à forcer le format de saisie d'une textbox sous la forme CC-LLL-CC ou CCC-LLL-CC (C=chiffre, L= Lettre).
Impossible de trouver ma réponse sur le net..
Merci de vos retours
Je cherche à forcer le format de saisie d'une textbox sous la forme CC-LLL-CC ou CCC-LLL-CC (C=chiffre, L= Lettre).
Impossible de trouver ma réponse sur le net..
Merci de vos retours
Configuration: Windows / Chrome 81.0.4044.138
7 réponses
-
Bonjour
et un makseditbox ou maskedtextbox selon le vb que tu utilises (oui y'a pleins de vb différent)?
-
Bonjour,
pour format: CCC-LLL-CC à adapter pour d'autre formatOption Explicit Private Sub TextBox1_Change() On Error Resume Next Dim Valeur As Byte TextBox1.MaxLength = 8 'nb caractères maxi autorisé dans le textbox Valeur = Len(TextBox1) If Valeur < 3 Or Valeur > 6 Then If Not IsNumeric(Right(TextBox1, 1)) Then MsgBox "Le caractere saisi n'est pas valide" 'non numérique TextBox1 = Left(TextBox1, Len(TextBox1) - 1) End If ElseIf IsNumeric(TextBox1.Value) Then MsgBox "Le caractere saisi n'est pas valide" 'numérique End If End Sub
-
Bonjour,
En complément des réponses des collègues (que je salue au passage), voici une proposition :
Private Sub TextBox5_Change() Dim Formatage As String, LenT As Integer Const CH As String = "111-AAA-11" Const COMP As String = "###[-][a-zA-Z][a-zA-Z][a-zA-Z][-]##" LenT = Len(TextBox5.Value) If LenT <= Len(CH) Then If LenT > 0 Then Formatage = TextBox5.Value & Right(CH, Len(CH) - LenT) If Not Formatage Like COMP Then TextBox5.Value = Left(TextBox5.Value, LenT - 1) End If Else TextBox5.Value = Left(TextBox5.Value, LenT - 1) End If End Sub -
Bonjour,
Merci de vos retours. Effectivement, je ne l'ai pas précisé. Je suis sur du VB excel. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ha j'ai fait une recherche pour VBA (VB pour Application) et il semble qu'il n'y ait pas de masked textbox dans ce langage.
Donc, il faut te tourner vers les 2 autres solutions
-
Salut Whis,
Non, en effet, cela n'existe pas.
Du coup, pour VBA Excel, ma solution fonctionne plutôt pas mal.
Il faut toutefois l'adapter pour les 2 cas : CC-LLL-CC ou CCC-LLL-CC.- Bonjour à tous,
ucfoutu c'était essayé à cet excercice, il y a quelque temps
https://codes-sources.commentcamarche.net/source/53984-vba-uniquement-saisies-controlees-un-peu-comme-avec-maskededit
Cela nécessite des lignes de code!!!!!!!!!!!!!!!!
@+ Le Pivert
-
-
Merci encore de vos retour.s
Pour information, j'ai utilisé le code de "pijaku" -