Bonjour,
Tout d'abord, je tiens à préciser que je suis super nouveau en VB et que j'arrive globalement à comprendre ce qui se trouve sur les autres forums mais pas à l'adapter.
Bref, mon problème est que je dois convertir un fichier .txt en .csv. Mais c'est pas tout, mon fichier en pièce jointe possède ce caractère "|" qui n'est pas détecté par excel donc je plante. J'avais imaginé, remplacer le caractère dans le fichier .txt pour ensuite passer le fichier en csv et enregistrer le tout évidemment sous scripte VBScript. D'autant qu'à terme ce programme sera incorporé à un logiciel qui est indusoft web studio.
J'aurai aussi besoin de mettre un en-tête à chaque colonne mais ça me parait pour le moment secondaire.
Ma tentative (J'ai une erreur en pièce jointe concernant la partie replace):
J'ai lu beaucoup de chose intéressante concernant l'importation d'un fichier txt sur excel avec le "delimiter" (la plus part du temps en VBA et non VBS, seulement je dois coder sur un environnement VBS est-ce que le VBS comprend les fonctionnalités VBA?) mais honnêtement j'ai pas capté grand chose
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 'save as .txt Dim oFS,oFl Dim strNewText Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFl = oFSO.GetFile("C:\Users\cchopard\Desktop\VM\Backup_Projet\PSA_Ring_Gear_8_ihm2bis\Alarm\al201205.alh") oFl.Copy "C:\Users\cchopard\Desktop\VM\Backup_Projet\PSA_Ring_Gear_8_ihm2bis\Alarm\test2.txt",False ' Le paramétre "Force" à False n'autorise pas d'effacer les fichiers en lectures seules. 'replace "|" to ";" to be understandable by excel Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\Users\cchopard\Desktop\VM\Backup_Projet\PSA_Ring_Gear_8_ihm2bis\Alarm\test2.txt", ForReading) strText = objFile.ReadAll objFile.Close strNewText = Replace(strText, "|", ";" ) Set objFile = objFSO.OpenTextFile("C:\Users\cchopard\Desktop\VM\Backup_Projet\PSA_Ring_Gear_8_ihm2bis\Alarm\test2.txt", ForWriting) objFile.WriteLine strNewText objFile.Close
Je vous remercie par avance pour votre aide!
le fichier joint : test.txt
Partager