120 votes

Comment ouvrir des fichiers CSV délimités par des points-virgules dans la version US d'Excel

Lorsque je double-clique sur un fichier .csv, il s'ouvre dans Excel. Les fichiers csv ont des colonnes délimitées par des points-virgules (pas des virgules, mais c'est aussi un format valide).

En utilisant un environnement Windows/Excel allemand, le fichier ouvert est affiché correctement, les colonnes sont séparées là où se trouvaient les points-virgules dans le fichier csv.

Mais lorsque je fais la même chose sur un environnement Windows/Excel (US-) anglais, une seule colonne est importée, affichant l'ensemble des données y compris les points-virgules dans la première colonne.
(Je n'ai pas de configuration anglaise disponible pour faire des tests, les utilisateurs ont signalé ce comportement)

J'ai essayé de changer la valeur du séparateur de liste dans les paramètres régionaux de Windows, mais cela n'a rien changé.

Que puis-je faire pour pouvoir ouvrir en double-cliquant ces fichiers CSV sur une configuration anglaise?

EDIT:
Il semble que la meilleure solution soit de ne pas compter sur les fichiers CSV dans ce cas. J'espérais qu'il existe un formatage spécifique pour les fichiers CSV qui permettrait de les utiliser à l'international.
La meilleure solution semble être de passer à la création de fichiers XLS.

2 votes

Vous pourriez recommander à vos utilisateurs d'utiliser LibreOffice Calc - il gère très bien les CSV avec des séparateurs arbitraires.

266voto

atx Points 2549

Ajoutez ceci sur la première ligne du fichier CSV :

sep=;

ou

sep=,

Cela remplacera le paramètre système ("caractère de séparation de liste") et Excel ouvrira le fichier correctement.

4 votes

+1 a fait cela dans Excel 2010 et cela a parfaitement fonctionné.

10 votes

Y a-t-il une liste d'autres paramètres similaires ? Indiquer à Excel d'utiliser , comme séparateur décimal va généralement de pair avec lui indiquer d'utiliser ; comme séparateur de colonne.

7 votes

Fonctionne parfaitement pour Excel, mais notez que cela peut ne pas être pris en charge dans d'autres programmes de feuilles de calcul ou de données. Ce peut être juste un petit problème, montrant simplement une ligne supplémentaire avec sep= ou sep=; dedans, mais certains programmes automatisés ou scripts peuvent ne pas s'attendre à cette ligne supplémentaire, ce qui fait que les en-têtes de colonnes ou la ligne sep=; elle-même soient interprétés comme des données réelles.

31voto

DMA57361 Points 18266

Vous pouvez utiliser l'assistant Importation de texte. Cela ne fonctionne pas sur un double-clic, mais c'est la meilleure solution que je puisse trouver qui ne nécessite pas de modifier les paramètres de langue.

Dans Excel 2003, allez dans Données -> Importer des données externes -> Importer les données dans la barre de menus (je ne peux pas dire où cela se trouve sur la version 2007, je n'ai pas cela sous la main pour le moment). Trouvez et sélectionnez votre fichier CSV.

Lorsqu'il s'ouvre, vous obtenez l'assistant Importation de texte, qui vous permet de spécifier le(s) délimiteur(s) à utiliser.

0 votes

Sur Outlook 2007, accédez à l'onglet Données et sélectionnez votre colonne, puis cliquez sur le bouton Texte en colonnes dans les outils de données.

1 votes

Oui, c'est une solution. Malheureusement, les utilisateurs qui ont besoin de consulter les données ne sont pas disposés à le faire. Ils peuvent gérer un "double-clic-ouvrir", mais ne pourront pas faire quelque chose de plus compliqué. Nous avons essayé de les éduquer au moins un peu, mais ils refusent.

1 votes

@Holgerwa - Est-il possible de faire passer les fichiers par un processus de conversion avant de les donner aux utilisateurs ? Ou doivent-ils rester délimités par des points-virgules ? D'autres ont suggéré cela, mais il devrait être assez facile de remplacer les points-virgules par des virgules en utilisant un type de script (Je déconseille une simple recherche/remplacement car vous ne voulez pas convertir ceux à l'intérieur de guillemets).

6voto

harrymc Points 394411

Voir cet article :
Problème d'ouverture des fichiers CSV avec Excel ? Le problème de la virgule et du point-virgule dans Excel en raison des paramètres régionaux pour l'Europe

Qui propose 3 solutions :

  • Changer l'extension du fichier CSV en TXT (lorsque vous ouvrez un fichier TXT avec Excel, il démarrera l'assistant d'importation de fichier texte où vous pourrez choisir le délimiteur)
  • Remplacer tous les "," par des ";" dans votre ou vos fichiers CSV
  • Modifier vos paramètres régionaux et linguistiques

Comme vous n'avez changé que la valeur du séparateur de liste dans les paramètres régionaux de Windows, je note que l'article dit d'entrer "." pour le Symbole Décimal et "," pour le Séparateur de Liste.

Si vous êtes à l'aise avec le VBA, alors consultez :

Ouverture d'un fichier CSV délimité par des points virgules avec VBA dans Excel 2000
Exporter et importer du texte avec Excel

0 votes

Je suis d'accord, toutes les options valides, mais malheureusement, je ne suis pas dans une situation normale avec les utilisateurs de ces fichiers CSV. L'importation .TXT ne fonctionnera pas (voir mon commentaire sur la réponse de DMA57361), remplacer les points-virgules par des virgules ne fonctionnera pas en raison de problèmes de séparateur décimal, et changer les paramètres régionaux ne fonctionnera pas parce que je n'ai pas accès aux PC utilisés. Les utilisateurs se contenteront de double-cliquer sur les fichiers et s'ils ne reçoivent pas ce qu'ils attendent, ils se plaindront et refuseront d'aider à résoudre le problème.

0 votes

@Holgerwa: Si vous ne contrôlez pas les PC des utilisateurs, alors il n'y a rien que vous puissiez faire. Sinon, ma autre suggestion serait de changer le gestionnaire vers l'extension .csv pour être votre propre programme, qui corrigera (mais intelligemment) les délimiteurs et appellera Excel.

0 votes

@Holgerwa: Veuillez prendre en compte ma modification ci-dessus concernant les paramètres régionaux.

3voto

Bruno Vaz Points 131

La meilleure façon que j'ai essayée est de définir les paramètres régionaux de votre ordinateur comme suit :

  • dans "Standard et formats", choisissez "Anglais (États-Unis)";
  • dans "Emplacements", choisissez "États-Unis".

Cela a fonctionné pour moi, essayez simplement.

0 votes

En fait, le problème de l'OP est l'opposé. Il faudrait changer pour une région européenne afin que la virgule soit utilisée comme symbole décimal et que le point-virgule soit utilisé comme séparateur de liste.

0voto

S'il n'y a pas d'autres virgules dans le fichier, vous pouvez simplement effectuer une recherche/remplacement dans un éditeur de texte sur les points-virgules pour les transformer en virgules. Traitez ensuite le fichier comme un fichier csv normal.

0 votes

Ces fichiers CSV doivent fonctionner dans différents pays (paramètres régionaux), et dans de nombreux paramètres régionaux, la virgule est le séparateur décimal au lieu du point. Un fichier de valeurs séparées par des virgules "standard" ne fonctionnera pas. Je suppose que c'est la raison pour laquelle des points-virgules ont été ajoutés comme délimiteur valide pour les fichiers CSV.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X