String tokenizer en VBA

Résolu
tedparker Messages postés 176 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 25 septembre 2006 - 9 août 2005 à 15:17
tedparker Messages postés 176 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 25 septembre 2006 - 9 août 2005 à 15:32
Bonjour

J'aimerais savoir si il existe un moyen de traiter un chaine un peu comme en JAVA ou en C par rapport à des caractères séparateurs.
Par exemple, je voudrais, à partir de chaînes du type numéro_annnée, séparer ces deux éléments dans des Long.
Merci de m'indiquer la fonction qui pourrait m'aider.

4 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
9 août 2005 à 15:27
Si tes chaînes sont toutes organisées de la même façon (c'est à dire : même nombre de caractères, etc ...) tu peux utiliser les fonctions suivantes :

Left(Toto,2) : prend les 2 premiers caractères de la chaîne toto
Right(Toto,3) : prend les 3 derniers caractères de la chaîne toto
Mid(Toto,2,5) : prend les 5 caractères, à partir de la 2ème lettre de la chaîne toto
inStr(3,toto,"x") : donne la position de la lettre "x" dans la chaîne toto, à partir de la 3ème lettre de la chaîne.

A partir de ces 4 fonctions, tu devrais pouvoir séparer tes données sans problèmes.

Molenn
3
fcampagne Messages postés 195 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 13 juillet 2006 3
9 août 2005 à 15:21
Il y a la fonction Split(chaine, separateur) en VB.net, je ne sais pas si ca peux t'aider
0
tedparker Messages postés 176 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 25 septembre 2006
9 août 2005 à 15:23
Existe pas en VBA.
Merci quand même
0
tedparker Messages postés 176 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 25 septembre 2006
9 août 2005 à 15:32
Jme rappelais plus de inStr.
Merci ça devrait passer même si mes chaînes sont pas forcément toutes identiquement formées (quelques tests et ça va passer).
Merci et a +
0
Rejoignez-nous