Recherche et modification dans un fichier

Signaler
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008
-
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008
-
Bonjour,
Je souhaite créer une macro pour réaliser cette opération :

Si il y a le texte "M6T1094" alors sur la ligne suivante modifier S....M3 par S8000M3 sur la totalité du fichier (jusqu'au texte M2)

Exemple du texte :

N130( outil CA3380010003 )
N135( jauge 132 )
N140( attachement ATB053 )
$ FRAISE PCD DIAM 10 CPE DRTE 2LEVRES 120
N145M6T1094
N150S9000M3 (modification en 8000)
N155G81X745.063Y-0.195ER50Z-10EH5F300
N225G80
N230M5
N235( outil 1053402 )
N240( jauge 142 )
N245( attachement ATB186 )
$ FRAISE PCD COUPE A DROITE DIAM 6 LG 15
N250M6T1365
N255S12000M3
N260G59X745.063Y-0.195
N265 L10=16 L11=10 G77 H8931
N400G59X0Y0
N405M5
N410G77H3
N415M2

Merci de votre aide car je débute et je rame vraiment

10 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,


Ce que nous mets provient-il d'un fichier texte ou sont-ce des lignes d'une colonne d'un fichier Excel ?


A ce propos, tu es ici dans la section  Thèmes / Visual Basic 6 / Divers
alors que, si tu développes sous VBA, tu aurais dû ouvrir ta discussion dans :
Thèmes / Visual Basic 6 / Langages dérivés / VBA
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008

Il s'agit d'un fichier texte
Merci
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008

Comment faire pour modifier la séction ?
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
Tu as beaucoup de ligne dans ton fichier ?

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008

Oui il peut avoir 300 lignes
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008

En faite, je dois vérifier des programmes (pour de l'usinage).
Et j'ai des programmes différents (environ 10 par jour)
Messages postés
584
Date d'inscription
jeudi 28 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2010
1
Ah d'accord... et tu as quoi jusqua maintenant... comment procede tu pour ouvrir/lire le fichier... ou bloque tu exactement?

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Bon...
Pour 300 lignes :
1) lis tout ton fichier d'un seul trait dans une variable (avec open ... for...) selon les nombreux exemples que tu trouveras sur ce forum et ferme-le (close)
2) éclate ta variable avec split et VbCrLf ===>> ===>> tu obtiendras ainsi un array dont les éléments seront les lignes du fichier à traiter
3) rouvre ton fichier en écriture
- lis maintenant tes éléments de l'array obtenu par split
- pour chaque élément : recherche la présence de ta chaine de départ (utilisation de Instr)


et :


 


=>> tu écris le contenu de l'élément dans ton fichier


=>> si résultat positif : tu lis l'élément suivant, le modifies comme tu l'entends, et l'écris dans ton fichier (utilisation de Replace)


Ensuite, ce n'est pas très clair ...


 


Si M2 est vraiment la fin de ton fichier : tu applique Replace à toutes les autres lignes


Si M2 n'est pas la fin mais est quelque part en chemin, tu continues comme précédemment (lecture, Replace ===>> écriture) jusqu'à ce que tu trouves M2, puis cesse tes replace et écris tous les autres éléments.


A toi de jouer avec toutes ces indications
Si tu rencontres une difficulté spécifique à un endroit ou à l'autre, montre-nous ton code et dis-nous où ... et nous te guiderons alors plus.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
section modifiée
Messages postés
6
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
31 juillet 2008

Ok merci je vais tester
Merci