[VBA] [ALGO] Découper une chaine de charactères d'après séparateur

Découper une chaine de charactères d'après séparateur [VBA] [ALGO] - VB/VBA/VBS - Programmation

Marsh Posté le 22-06-2003 à 22:29:23    

Salut à tous,
 
je cherche à faire un petit prog qui convertit des données d'un format à un autre. Pour ce faire, j'ai très souvent besoin d'ouvrir des fichiers textes et d'en extraire des données.
 
Les données sont codées lignes par ligne. Elles sont de la forme :
 
val1;val2;val3;..;...
 
Quelles est la meilleur solution pour sotcker ces valeur dans un tableau ?
 
Pour l'instant, j'utilise un pointeur et la fonction instr qui renvoie la position d'une occurence d'une chaine dans une autre. Une fois cette occurence déterminée, je transfère les données grâce à un mid, le pointeur prend la valeur de l'occurence et la recherche continue jusque la fin de la chaine.
 
Example : au départ, mon pointeur vaut 1
instr me trouve le premier ";" en 5eme position : les charactère de 1 à 4 vont dans val1
Le pointeur prend la valeur 6 et je cherche à nouveau à partir du charactère 6.
Etc...
 
 
Est-il plus rapide de d'analyser tous les charactères de la chaine ?
Existe-t-il des méthodes plus pro ?
 
Merci de votre aide


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 22-06-2003 à 22:29:23   

Reply

Marsh Posté le 23-06-2003 à 01:07:41    

monTableau = split(maChaine, monSeperateur)
 
:ange:

Reply

Marsh Posté le 23-06-2003 à 21:01:05    

Merde, j'chuis un peu vert sur le coup la :/
 
Je la connaissais pas cette fonction mais effectivement, elle fait excatement ce que je cherche.
 
Merci :jap:
 
Sinon, d'un point de vue algo, lequel est le meilleur ?


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 23-06-2003 à 21:09:21    

Niveau algo, aucune idée.
Je préfère utiliser les fonctions intégrées, elles sont généralement les plus optimisées :D
 
Sinon, je dirais que je vois pas trop comment faire d'autre que de recopier byte par byte la chaîne dans un array de chaîne, en changeant de ligne à chaque nouveau sépérateur...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed