Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

csv et macro

5 views
Skip to first unread message

dom

unread,
Feb 9, 2004, 6:10:09 AM2/9/04
to
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:\temp\toto.csv", il m'affiche le
csv de manière incorrecte au niveau de l'affichage
(séparés par des ;) alors que je les voudrais dans chaque
colonne. Y a t'il des paramètres à passer derrière ?

Merci pour vos réponses

Dom

Céline CHARBONNIER

unread,
Feb 9, 2004, 8:12:30 AM2/9/04
to
Bonjour,

Pourriez-vous m'indiquer la version d'Excel que vous utilisez (en dépendant
le code à mettre en place) ? Il est normal que le VBA vous ouvre le csv de
manière incorrecte car il utilise les paramètres régionaux anglais où le
séparateur est une virgule.

--
Céline CHARBONNIER
Sitel pour l'assistance utilisateur Microsoft


"dom" <anon...@discussions.microsoft.com> a écrit dans le message de news:
d3c801c3eefd$47a38060$a601...@phx.gbl...

dom

unread,
Feb 9, 2004, 8:47:08 AM2/9/04
to
Re-Bonjour,

Le fichier où il y a le csv fonctionne sous excel97 et
winnt4. La personne passe en excel xp et winxp. La macro
qui contient le code ne fonctionne plus en xp. A
l'origine , elle a été créée sous excel 97. La pêrsonne
veut l'utiliser en excel xp

Merci pour votre collaboration

Dom

>-----Message d'origine-----

>.
>

Céline CHARBONNIER

unread,
Feb 9, 2004, 9:07:36 AM2/9/04
to
Si vous utilisez la méthode opentext avez-vous le meme problème ?


--
Céline CHARBONNIER
Sitel pour l'assistance utilisateur Microsoft


"dom" <anon...@discussions.microsoft.com> a écrit dans le message de news:

d5a301c3ef13$35b09d50$a501...@phx.gbl...

dom

unread,
Feb 9, 2004, 9:45:38 AM2/9/04
to
Si j'utilise la méthode opentext en lui précisant le nom
du fichier toto.csv,cela ne fonctionne pas.

>-----Message d'origine-----

>.
>

Clément Marcotte

unread,
Feb 9, 2004, 11:35:36 AM2/9/04
to
Bonjour,

Le meilleur moyen d'exploiter des fichiers textes avec Excel est de ne
pas passer par Enregistrer Sous, ni fichier ouvrir. Tu peux toujous te
dépanner avec Données - Convertir.

Pour Ouvrir un fichier texte sans passer par Fichier - Ouvrir et
répartir les données dans chaque colonne:


Sub ouvrirfichiertexteetseparer()
Dim separateur As String, i As Integer, f1 As Object
Dim fso As Object, f As Object, laligne As String
Const ForReading = 1
separateur = InputBox("Indiquez votre séparateur", "Choix du
séparateur")
lenom = "c:\copie\unbeaufichiertexte.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile(lenom)
Set f = f1.OpenAsTextStream(ForReading, TristateUseDefault)
i = 1
Do While Not f.AtEndOfStream
laligne = f.ReadLine
laligne1 = Split(laligne, separateur)
For j = 0 To UBound(laligne1)
If InStr(laligne1(j), Chr(34)) = 1 Then
laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1)
End If
If InStrRev(laligne1(j), Chr(34)) > 0 Then
laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1)
End If
Cells(i, j + 1).Value = laligne1(j)
Next
i = i + 1
Loop
f.Close
End Sub

Sub ouvrirfichiertexteetseparer1()
Dim separateur As String, i As Integer
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
separateur = InputBox("Indiquez votre séparateur", "Choix du
séparateur")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\copie\unbeaufichiertexte.txt",
ForAppending, True)
derniereligne = f.Line
f.Close
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\copie\unbeaufichiertexte.txt",
ForReading, TristateUseDefault)
For i = 1 To derniereligne
laligne = f.ReadLine
If laligne > "" Then
laligne1 = Split(laligne, separateur)
For j = 0 To UBound(laligne1)
If InStr(laligne1(j), Chr(34)) = 1 Then
laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1)
End If
If InStrRev(laligne1(j), Chr(34)) > 0 Then
laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1)
End If
Cells(i, j + 1).Value = laligne1(j)
Next
Else
Exit For
End If
Next
f.Close
End Sub


"dom" <anon...@discussions.microsoft.com> a écrit dans le message de
news:d3c801c3eefd$47a38060$a601...@phx.gbl...

Pascal Engelmajer

unread,
Feb 9, 2004, 11:46:22 AM2/9/04
to
Salut,
avec ça ?
Workbooks.OpenText Filename:= "monfichier.csv" DataType:=xlDelimited,
Semicolon:=True, Comma:=False, Space:=False, Other:=False
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel

"dom" <anon...@discussions.microsoft.com> a écrit dans le message de news:
cb7d01c3ef1b$62162600$a301...@phx.gbl...
0 new messages