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

Fermé
Emilie288 - 19 avril 2016 à 11:40
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 19 avril 2016 à 14:24
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

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
Modifié par Frenchie83 le 19/04/2016 à 11:55
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
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
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
19 avril 2016 à 14:24
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