Retrouver le nombre de virgule dans chaine de texte

Résolu
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 - 1 oct. 2009 à 23:05
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 2 oct. 2009 à 20:20
Bonjour,

J'aimerais connaitre la fonction qui me permet de retrouver le nombre de "," dans une chaine de caractères.
Car j'ai une texte box ou l'utilisateur peut remplir plusieurs valeurs séparées d'une virgule. Mais je ne peut prendre que 5 valeurs pour la suite.
Donc si y'a 5 virgule, il me mets un message.
J'ai reussi via une cascade de :

If KeyAscii = 44 Then
Test = Textbox1
If InStr(Test, ",") > 0 Then
Test = Mid(Test, InStr(Test, ",") + 1, Len(Test))

Mais je me demande s'il n'y a pas plus simple

De plus quand l'utilisateur met une cinquième virgule, je lui met un "Exit Sub", mais il me rajoute quand meme la cinquieme virgule.
Y'a pas moyen de ne pas la mettre?

Merci

5 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 21
1 oct. 2009 à 23:08
Bonsoir,
Voir ce code snippet ici

Willi
++
3
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 1
2 oct. 2009 à 07:33
Merci Willi
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
2 oct. 2009 à 08:13
Bonjour,

et pourquoi donc ne pas utiliser tout simplement la fonction Split ?
0
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 1
2 oct. 2009 à 17:34
Ah bah ca marche comment cette bete la?

Je connais pas cette commande.
Tu peux m'en dire un peu plus?
0

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

Posez votre question
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
2 oct. 2009 à 20:20
Je n'aurais pas la prétention de savoir t'en dire plus et mieux que ce que t'en dit, fort clairement, ton aide en ligne (MSDN) qu'il t'est vivement conseillé de consulter.
Tu y découvriras que cette fonction est capable d'"éclater" une chaîne de caractères par rapport à un séparateur défini et qu'elle retourne un Array, dont le nombre d'éléments (Ubound) -1 est, précisément, celui des occurences du ... séparateur.
Bonne lecture.
0
Rejoignez-nous