Forcer format de saisie textbox

Résolu/Fermé
RaoulRuiz - 20 mai 2020 à 17:39
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 26 mai 2020 à 13:43
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

Configuration: Windows / Chrome 81.0.4044.138
A voir également:

7 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
20 mai 2020 à 19:25
Bonjour

et un makseditbox ou maskedtextbox selon le vb que tu utilises (oui y'a pleins de vb différent)?
1
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
20 mai 2020 à 19:17
Bonjour,

pour format: CCC-LLL-CC à adapter pour d'autre format


Option 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


0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 mai 2020 à 10:40
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
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
22 mai 2020 à 11:23
Salut Pijaku.

Si dans ça version de VB y'a un textbox maské ça reste plus simple ;)
0
Bonjour,

Merci de vos retours. Effectivement, je ne l'ai pas précisé. Je suis sur du VB excel.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
23 mai 2020 à 17:57
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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
25 mai 2020 à 09:29
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.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
25 mai 2020 à 10:51
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
0
RaoulRuiz Messages postés 5 Date d'inscription mardi 26 mai 2020 Statut Membre Dernière intervention 26 mai 2020
26 mai 2020 à 13:31
Merci encore de vos retour.s
Pour information, j'ai utilisé le code de "pijaku"
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
26 mai 2020 à 13:43
Pense à marquer le sujet résolu
0