String tokenizer en VBA

[Résolu]
Signaler
Messages postés
176
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
25 septembre 2006
-
Messages postés
176
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
25 septembre 2006
-
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

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
195
Date d'inscription
vendredi 3 juin 2005
Statut
Membre
Dernière intervention
13 juillet 2006
3
Il y a la fonction Split(chaine, separateur) en VB.net, je ne sais pas si ca peux t'aider
Messages postés
176
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
25 septembre 2006

Existe pas en VBA.
Merci quand même
Messages postés
176
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
25 septembre 2006

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 +