OVH Cloud OVH Cloud

fichiers csv et Excel

3 réponses
Avatar
Paul
Bonjour,
J'ai deux fichiers texte au format csv:
a) pour l'un le séparateur de listes est le point virgule (;) et le symbole
décimal la virgule
b) pour l'autre le séparateur de listes est la virgule et le symbole décimal
le point.
-Sous excel 2002, le premier s'ouvre correctement (c'est-à-dire que les
informations sont bien réparties en colonnes)mais pas le second
-Sous excel 97, le second s'ouvre correctement mais pas le premier
Mon ordinateur : Win XP, le séparateur de liste est le point-virgule, le
séparateur décimal la virgule.
Quelqu'un pourrait-il m'expliquer quels sont les paramètres pris en compte
lors de l'importation/exportation par Excel de fichiers csv ?
Merci d'avance.
Paul

3 réponses

Avatar
Denis Michon
Bonsoir Paul,

Une solution issue d'une combinaison des Mpfe Frédéric Sigonneau et de Patrick Penet en ce qui concerne tes problèmes avec
Excel 97.

Je t'invite à consulter l'aide (F1) sur l'expression suivante des procédures : TextToColumns


Tu pourrais essayer la méthode TextToColumns pour ouvrir ton fichier :
'----------------------------
Sub CSVOpener()
'd'après P. Penet, mpfe
Dim wb As Workbook, NomFich

With Application
NomFich = Application.GetOpenFilename("Fichiers texte,*.csv;*.txt")
If NomFich = False Then Exit Sub
Set wb = .Workbooks.Open(NomFich)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), , , False, , True
End With

End Sub
'----------------------------
FS


Pour passer d'un fichier .CSV à un fichier .TXT


L'idée de base fut proposée par P. Penet, mpfe

'---------------------------------------
Sub TransformerUneFichierCSV_TXT()
Dim wb As Workbook, NomFich As Variant
Dim NouvFichierTexte As String

NomFich = "c:classeur1.csv" 'à déterminer
NouvFichierTexte = "c:AAA1.txt" 'à déterminer
Application.ScreenUpdating = False
With Application
'Si tu veux pourvoir le sélectionner toi-même
'active les 2 lignes de code suivantes
'NomFich = Application.GetOpenFilename("Fichiers texte,*.csv;*.txt")
'If NomFich = False Then Exit Sub
Set wb = .Workbooks.Open(NomFich)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), , , False, , True
wb.SaveAs NouvFichierTexte, xlTextWindows
wb.Close False
End With

End Sub


Salutations!


"Paul" a écrit dans le message de news:%
Bonjour,
J'ai deux fichiers texte au format csv:
a) pour l'un le séparateur de listes est le point virgule (;) et le symbole
décimal la virgule
b) pour l'autre le séparateur de listes est la virgule et le symbole décimal
le point.
-Sous excel 2002, le premier s'ouvre correctement (c'est-à-dire que les
informations sont bien réparties en colonnes)mais pas le second
-Sous excel 97, le second s'ouvre correctement mais pas le premier
Mon ordinateur : Win XP, le séparateur de liste est le point-virgule, le
séparateur décimal la virgule.
Quelqu'un pourrait-il m'expliquer quels sont les paramètres pris en compte
lors de l'importation/exportation par Excel de fichiers csv ?
Merci d'avance.
Paul
Avatar
Paul
"Denis Michon" <denis a écrit dans le message de news:
4YsCb.54662$
Bonsoir Paul,

Une solution issue d'une combinaison des Mpfe Frédéric Sigonneau et de
Patrick Penet en ce qui concerne tes problèmes avec

Excel 97.

Je t'invite à consulter l'aide (F1) sur l'expression suivante des
procédures : TextToColumns


Merci beaucoup de ton aide. Je vais consulter l'aide et tes exemples.

Mon problème c'est surtout que j'aurais voulu pouvoir modifier les
paramètres des fichiers csv à l'export et à l'import.
Paul

Avatar
Ma Dalton
Salut,
c'est comme tu dis: l'un ou l'autre.
Dans le registre à la clé : HKEY_CLASSES_ROOTExcel.CSVshellOpenddeexec
tu auras la valeur [open("%1")] ---> à remplacer par [ouvrir("%1")]

Cela fera le fonctionnement que tu décris, mais à l'inverse.


"Paul" a écrit dans le message news:
#
Bonjour,
J'ai deux fichiers texte au format csv:
a) pour l'un le séparateur de listes est le point virgule (;) et le symbole
décimal la virgule
b) pour l'autre le séparateur de listes est la virgule et le symbole décimal
le point.
-Sous excel 2002, le premier s'ouvre correctement (c'est-à-dire que les
informations sont bien réparties en colonnes)mais pas le second
-Sous excel 97, le second s'ouvre correctement mais pas le premier
Mon ordinateur : Win XP, le séparateur de liste est le point-virgule, le
séparateur décimal la virgule.
Quelqu'un pourrait-il m'expliquer quels sont les paramètres pris en compte
lors de l'importation/exportation par Excel de fichiers csv ?
Merci d'avance.
Paul