OVH Cloud OVH Cloud

csv et macro

6 réponses
Avatar
dom
Bonjour,

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

Merci pour vos r=E9ponses

Dom

6 réponses

Avatar
Céline CHARBONNIER
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" a écrit dans le message de news:
d3c801c3eefd$47a38060$
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:temptoto.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
Avatar
dom
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-----
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" a écrit dans
le message de news:

d3c801c3eefd$47a38060$
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:temptoto.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


.



Avatar
Céline CHARBONNIER
Si vous utilisez la méthode opentext avez-vous le meme problème ?


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


"dom" a écrit dans le message de news:
d5a301c3ef13$35b09d50$
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-----
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" a écrit dans
le message de news:

d3c801c3eefd$47a38060$
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:temptoto.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


.



Avatar
dom
Si j'utilise la méthode opentext en lui précisant le nom
du fichier toto.csv,cela ne fonctionne pas.

-----Message d'origine-----
Si vous utilisez la méthode opentext avez-vous le meme
problème ?



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


"dom" a écrit dans
le message de news:

d5a301c3ef13$35b09d50$
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-----
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" a écrit dans
le message de news:

d3c801c3eefd$47a38060$
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:temptoto.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


.




.




Avatar
Clément Marcotte
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:copieunbeaufichiertexte.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:copieunbeaufichiertexte.txt",
ForAppending, True)
derniereligne = f.Line
f.Close
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.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" a écrit dans le message de
news:d3c801c3eefd$47a38060$
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:temptoto.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
Avatar
Pascal Engelmajer
Salut,
avec ça ?
Workbooks.OpenText Filename:= "monfichier.csv" DataType:=xlDelimited,
Semicolon:=True, Comma:úlse, Space:úlse, Other:úlse
--
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" a écrit dans le message de news:
cb7d01c3ef1b$62162600$
Si j'utilise la méthode opentext en lui précisant le nom
du fichier toto.csv,cela ne fonctionne pas.

-----Message d'origine-----
Si vous utilisez la méthode opentext avez-vous le meme
problème ?



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


"dom" a écrit dans
le message de news:

d5a301c3ef13$35b09d50$
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-----
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" a écrit dans
le message de news:

d3c801c3eefd$47a38060$
Bonjour,

J'ai un fichier csv.
Lorsque je veux l'utiliser avec une macro,
je fais workbooks.open "c:temptoto.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


.




.