TextBox : Nombre et type de caractères imposés

Emilie288 -  
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour,

Pour ma TextBox1 je veux que l'on renseigne un numéro de SS, donc 15 chiffres.
Actuellement j'ai ce code :

Private Sub textBox1_Change()
On Error Resume Next
If Not IsNumeric(Right(TextBox1, 1)) Then
MsgBox "Saisir des caractères numériques uniquement"
TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
End If
End Sub

Mais donc on peut renseigner 3 chiffres comme 18.
Est-il possible d'imposer la saisie de 15 chiffres ?

3 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    Private Sub TextBox1_Change()
        On Error Resume Next
        If Len(TextBox1) >= 15 Then
            TextBox1 = Left(TextBox1, 15)
            Exit Sub
        End If
        If Not IsNumeric(Right(TextBox1, 1)) Then
            MsgBox "Saisir des caractères numériques uniquement"
            TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
        End If
    End Sub
    


    ou
     Private Sub TextBox1_Change()
        On Error Resume Next
        TextBox1.MaxLength = 15
        If Not IsNumeric(Right(TextBox1, 1)) Then
            MsgBox "Saisir des caractères numériques uniquement"
            TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
        End If
    End Sub

    Cdlt
    0
  2. Linoa85
     
    Merci pour la réponse.
    Ca délimite bien à 15 chiffres, mais je peux aussi n'en mettre que 2,3 ca fonctionne quand même
    0
  3. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Re
    A copier dans le module de la feuille,
    Private Sub Worksheet_SelectionChange(ByVal sel As Range)
        If Len(TextBox1) > 0 And Len(TextBox1) < 15 Then TextBox1.Activate
    End Sub


    Si la textbox n'est pas complète, le fait de cliquer ailleurs renverra dans la textbox jusqu'au remplissage des 15 chiffres, sauf si on fait un double-clic sur une même cellule, mais à la validation de celle-ci, la textbox sera à nouveau sélectionnée en attente du remplissage complet.
    cdlt
    0