XL 2019 controler le nombre de caracteres

Bruce68

XLDnaute Impliqué
VB:
Private Sub TexVit_exit(ByVal cancel As MSForms.ReturnBoolean)
TexVit.Text = Format(TexVit.Text, "#""-""##""-""##""-""##""-""###""-""###")
        ActiveSheet.Range("H2").Select
     Do Until ActiveCell = Me.ComNom Or ActiveCell = ""
        ActiveCell.Offset(1, 0).Select
     Loop
        If ActiveCell = Me.ComNom.Value Then

        Else
    ActiveSheet.Range("N2").Select
    Do Until ActiveCell = Me.TexVit Or ActiveCell = ""
        ActiveCell.Offset(1, 0).Select
    Loop
    If ActiveCell = Me.TexVit.Value Then
       MsgBox " Le N° carte vitale   " & ActiveCell & "   Existe déjàdans la base"
       Me.TexVit = ""
       Me.TexVit.SetFocus
       Exit Sub
    End If
    End If
End Sub

Dans cette macro je voudrais contrôler si il y a 18 caravctères (1-52-07-67-254-387) pour éviter les erreurs de frappe
Je vous remercie de votre aide
 

youky(BJ)

XLDnaute Barbatruc
Bonsoir Bruce,
Voici qlq solutions pour faire des Verifs
Pour compter le nbre de caractères si pas 18 caractères
If len(Texvit)<> 18 then msgbox "Pas bon"
Pour connaitre le caractère placé en 2ème position
if mid(Texvit,2,1)<> "-" then msgbox"Pas bon"
ci-dessus 2 est la position du caractère et 1 combien de caractères
et pour connaitre si "-" est en position 5
if mid(Texvit,5,1)<> "-" then msgbox"Pas bon"
Bruno
 

patricktoulon

XLDnaute Barbatruc
Bonjour
je te propose même l'aide a la saisie avec mask de saisie
tu n'a qu'a taper les chiffres (tu t'occupe de rien d'autre)
ci joint quelques exemples
secubox
datebox
phonebox
etc....
 

Pièces jointes

  • exemples simple textbox formaté + masque de saisie .xlsm
    36.3 KB · Affichages: 2

Statistiques des forums

Discussions
312 166
Messages
2 085 898
Membres
103 022
dernier inscrit
Ouékino