Macro pour parser un fichier txt et remplacer

cs_liia Messages postés 8 Date d'inscription lundi 26 septembre 2005 Statut Membre Dernière intervention 20 janvier 2010 - 14 janv. 2010 à 20:59
cs_liia Messages postés 8 Date d'inscription lundi 26 septembre 2005 Statut Membre Dernière intervention 20 janvier 2010 - 18 janv. 2010 à 17:23
Bonjour à tous,

J'ai un fichier xls qui contient plusieurs classeurs qui contient plusieurs données.
j'ai crée des macros pour trouver le delta entre les données de ces classeurs et les affichées dans un fichier txt.

Maintenant il me reste de parser chaque ligne de ce fichier txt qui sous la forme :
x;y;z;w
......
.....
et remplacer une commande qui est sous la forme:
commande : text1="a", text1="b", text1="c", text1="d"

En gros :

je doits parcer le ficher txt et remplacer les valeurs a,b,c,d de la commande par les valeurs x,y,z,w et ceci pour chaque ligne du fichier txt..

Avez une idée svp?..

Merci d'avance..

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 janv. 2010 à 13:58
Salut
Ton format de fichier ressemble à la structure d'un fichier CSV.
Inspire toi des multiples codes exemples en cherchant "VBA CSV" dans le moteur de recherche du site.
Si tu veux commencer, il faut :
- Ouvrir le fichier : FreeFile, Open
- Faire une boucle de lecture : Do While Not EOF(x)
- Lire une ligne : Line Imput #
- Faire un Split de la ligne avec ';' pour bornes. Tu seras embêté s'il existe des ';' à l'intérieur des valeurs x, y, z ou w
- Transférer les éléments du tableau ainsi créé dans tes 'Text1'
- Rebouclage : Loop
- Fermeture du fichier : Close #

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_liia Messages postés 8 Date d'inscription lundi 26 septembre 2005 Statut Membre Dernière intervention 20 janvier 2010
18 janv. 2010 à 17:23
OK merci pour votre réponse..

J'ai essayé ce code là mais sans issu:(disons que je suis pas un pro vb)

Sub Lire_file_TXT()
Dim Fichier As String
Dim F As Integer, i As Integer
Dim Ligne As String

Fichier = "C:/file.txt"

F = FreeFile
'Lecture des lignes
Open Fichier For Input As #F
While Not EOF(F)
Line Input #F, Ligne
'découpe la chaine en fonction des espaces " "
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(Ligne, ";")

????????????????????????
puis modification de l'autre texte
??????????
commenet faire????
******************************
'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
Print #F, Tableau(i)
Next i
End Sub

Merci pour ta réponse...
0
Rejoignez-nous