Problem lecture d un fichier texte !!

mohax007 Messages postés 13 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 25 juillet 2005 - 15 juil. 2005 à 10:40
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 17 juil. 2005 à 14:23
bonjour a tous je suis debutant en vbscript j ai voulu faire un bout de
script me permettant la Lecture d'un fichier texte au format CSV
(champs séparés par points-virgules). et je souhaite afficher le
contenu de mon de mon fichier pour tester si il fonctionne bien mais j
ai un bug et je ne sais pas pourquoi est ce quelqu un pourrait
voir le code ci dessous et me dire d ou vien le Pb.merci



dim s

dim s2

dim fields

dim fso





Const ForReading=1

'Lecture d'un fichier texte au format CSV (champs séparés par points-virgules)

set fso = CreateObject("Scripting.FileSystemObject")

set f = fso.GetFile(filename)

set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)

set f2 = fso.GetFile(test)

set ts2 = f.OpenAsTextStream(Forwriting, TristateUseDefault)



do while (Not ts.AtEndOfStream)

s = ts.ReadLine

fields = Split(s, ",")

s2=ts2.writeline

loop

2 réponses

cs_SyS_ Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 22 juillet 2005
15 juil. 2005 à 13:49
Et si tu mettais dans un premier temps un point-virgule à la place d'une simple virgule dans ton split....???
+++
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
17 juil. 2005 à 14:23
Bonjour,

N'utilise pas fso pour ce genre de truc.Pour lire ton fichier.csv,
place un TextBox (propriété Multiligne à true et éventuellement mets
ScrollBar à Both, ou autres), un CommandButton et place ce code.



Private Sub Command1_Click()

Dim crlf, tout, texte

crlf = Chr(13) + Chr(10)

Open "C:\Mes documents\MonFichier.csv" For Input As #1

Line Input #1, texte

tout = texte

If Len(tout) <> 0 Then

While Not EOF(1)

Line Input #1, texte

tout = tout + crlf + texte

Wend

End If

Text1.Text = tout

Close #1

End Sub



jpleroisse
0