Supprimer vbCrLf d'une ligne sur deux
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 :
Code:
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 |
Et là je sèche un peu, je connais mal les fonctions VBS.
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 :)