Bug étrange d'Excel csv vers xls ???

cs_Jacky7 Messages postés 63 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 22 juin 2011 - 16 juin 2011 à 00:23
cs_Jacky7 Messages postés 63 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 22 juin 2011 - 16 juin 2011 à 18:56
Bonsoir à tous,

Je viens de m'apercevoir d'un bug étrange d'Excel, je m'explique :

Lorsque j'ouvre un fichier CSV en double cliquant dessus, j'obtiens un fichier (ouvert avec Excel) reparti en lignes et colonnes.
Si j'ouvre le même fichier par automation d'Excel, j'obtiens un fichier qui par un peu n'importe comment.
En fait si j'ouvre le fichier csv en double cliquant dessus, excel prends en compte les séparateurs ";" tandis que par automation il prends les ",".

Le principe me parait étrange, pourquoi choisir des séparateurs différents en fonction de la méthode d'accès ??

Quelqu'un a t-il déja rencontré ce problème ? Y a t-il une solution plus "propre" que de faire un rechercher/remplacer qui peut prendre enormément de temps en fonction de la longueur des fichiers ?

Merci
Jack

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 juin 2011 à 08:38
Bonjour,

on ne sait pas si tu fais ton importation :
- directement par utilisation du convertisseur (depuis Excel)
ou
- par code VBA (qu'on ne voit pas dans ton message)

Quoi qu'il en soit : dans un cas comme dans l'autre, c'est à toi qu'il appartient de définir ton séparateur !

et je ne comprends pas ceci :
Lorsque j'ouvre un fichier CSV en double cliquant dessus, j'obtiens un fichier (ouvert avec Excel) reparti en lignes et colonnes.

un fichier csv est un fichier texte, normalement ouvert par défaut par notepad (ou autre lecteur de fichier texte).


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 juin 2011 à 08:47
que contient ta clé de registre :
HKEY_CLASSES_ROOT\Excel.CSV\shell\Open\command
?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 juin 2011 à 08:54
et que contient la clé :
HKEY_CLASSES_ROOT\.csv
?
De toutes manières : ouvre ton csv avec le blocnotes et regarde quel séparateur est utilisé


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
cs_Jacky7 Messages postés 63 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 22 juin 2011 3
16 juin 2011 à 18:56
Bonjour,

Je fais mon importation du csv dans EXCEL par VB, a l'aide de cette ligne :

Workbooks.OpenText FileName:="C:\Documents and Settings\Jack\bureau\MesPhotos\Suivi3.csv"

Excel est parametré par défaut pour ouvrir les csv.

Le séparateur utilisé actuellement est le ; (le fichier csv provient d'un autre prog que j'avais paramétré ainsi à l'époque car Excel le voulait comme ça).

Si je l'ouvre manuellement (en double cliquant dessus) aucun problème, Excel reconnait les séparateurs et organise bien mon fichier.
Par contre si je l'ouvre avec la ligne de code ci-dessus, Excel ne reconnait plus les séparateurs comme des ; mais des , ???

Jack
0
Rejoignez-nous