Bonjour à tous !
Je débute et les exemples sur le net n'ont rien donnés.
Voici mon problème :
2;DIVERS1
0003
2;DIVERS2
2;DIVERS3
0003
La ligne du milieu est volontairement vide car c'est un export BDD et le 0003 n'est pas toujours présent. Le fait est que pour 1 seul article, j'ai deux lignes.
Au début j'ai pensé à remplacer le vbCrLf par un ; mais comme VBS lit entièrement le fichier, le traite et l'écrit, sa me donne un truc du genre :
2;DIVERS1;0003;2;DIVERS2;2;DIVERS3;0003;
Or il faudrait que ce soit :
2;DIVERS1;0003
2;DIVERS2;
2;DIVERS3;0003
Voici mon code actuel :
Et là je sèche un peu, je connais mal les fonctions VBS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\EXPORT.TXT", ForReading) strText = objFile.ReadAll objFile.Close strNewText = Replace(strText, vbLf, ";") Set objFile = objFSO.OpenTextFile("C:\EXPORT.TXT", ForWriting) objFile.WriteLine strNewText objFile.Close
Peut-être faudrait-il lire la ligne, effacer le retour chariot (en y ajoutant un ';') et l'écrire dans le fichier à-la-volée mais je vois pas comment faire.
Merci pour votre aide![]()
Partager