Test sur chaine de caractères en vba excel
Résolu
Nospam54
Messages postés
152
Date d'inscription
Statut
Membre
Dernière intervention
-
Nospam54 Messages postés 152 Date d'inscription Statut Membre Dernière intervention -
Nospam54 Messages postés 152 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vais essayer d'être clair et concis...
Quelqu'un(e) pourrait-il(elle) m'aider pour réaliser un morceau de code vba excel 2003 ?
Dans un textbox l'utilisateur doit entrer un n° de facture. Je veux pouvoir tester le 4ème caractère qui ne doit pas être autre chose qu'un "D" ou un "C" ou un "F" ou un "I" ou un "V". Tout autre caractère saisi renvoyant un message d'alerte et retournant sur le textbox du numéro de la facture à saisir...
J'ai cherché pas mal de temps, tester tout un tas de fonctions relatives aux chaines de caractères, mais sans résultat tel que je le souhaite.
Merci d'avance !
Je vais essayer d'être clair et concis...
Quelqu'un(e) pourrait-il(elle) m'aider pour réaliser un morceau de code vba excel 2003 ?
Dans un textbox l'utilisateur doit entrer un n° de facture. Je veux pouvoir tester le 4ème caractère qui ne doit pas être autre chose qu'un "D" ou un "C" ou un "F" ou un "I" ou un "V". Tout autre caractère saisi renvoyant un message d'alerte et retournant sur le textbox du numéro de la facture à saisir...
J'ai cherché pas mal de temps, tester tout un tas de fonctions relatives aux chaines de caractères, mais sans résultat tel que je le souhaite.
Merci d'avance !
A voir également:
- Vba chaine de caractère contient
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
4 réponses
bonjour,
la fonction Mid(chaine, position de départ, longueur) vous permet de récupérer le caractère que vous voulez.
un Select Case vous permet de définir les actions pour les valeurs trouvées
A+
la fonction Mid(chaine, position de départ, longueur) vous permet de récupérer le caractère que vous voulez.
MonCar = Mid(Textbox1.Value, 4, 1)
un Select Case vous permet de définir les actions pour les valeurs trouvées
Select Case MonCar Case "D", "C", "F", "I", "V" 'définir les actions Case Else ' Autres valeurs. MsgBox "Pas Bon" ..... End Select
A+
Bonjour,
A+
MsgBox "Le 4ème caractère n'est pas bon !", vbExclamation With txtFactPart1 .SetFocus .SelStart = 4 .SelLength = 1 End With
A+
Bonjour
Une autre manière de voir les choses
Une autre manière de voir les choses
Private Sub TextBox1_Change() Dim seuil As Byte, valeur As String, ctrlcar As String * 1 seuil = Len(TextBox1) If seuil = 4 Then valeur = Left(TextBox1, 3) ctrlcar = Mid(TextBox1, 4) Select Case ctrlcar Case "D", "C", "F", "I", "V" Case Else MsgBox "Le 4ème caractèr: """ & ctrlcar & """ n'est pas bon !", vbExclamation TextBox1 = valeur End Select End If End Sub
Ça marche nickel !
Petite question subsidiaire... après ce contrôle, et si ce fameux 4ème caractère saisi n'est pas bon, je remets le focus sur le textbox de façon à ce que l'utilisateur corrige.
Mais, tout le monde le sait, les utilisateurs sont paresseux... Je voudrais donc qu'après le focus sur le textbox le curseur ne sélectionne que le 4ème caractère.
Est-ce possible ?
Voici mon code :
Merci d'avance !