web-dev-qa-db-fra.com

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

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

Dans une configuration allemande Windows/Excel, le fichier ouvert est affiché correctement, les colonnes sont séparées où les points-virgules existaient dans le fichier csv.

Mais lorsque je fais la même chose sur une configuration Windows/Excel (US-) anglaise, une seule colonne est importée et affiche l'ensemble des données, y compris les points-virgules de la première colonne.
(Je n'ai pas de configuration en anglais pour les tests, les utilisateurs ont signalé le 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 double-cliquer et ouvrir ces fichiers CSV sur une configuration anglaise?

MODIFIER:
Cela semble être la meilleure solution pour ne pas compter sur les fichiers CSV dans ce cas. J'espérais qu'il existe un formatage pour les fichiers CSV qui permette de les utiliser à l'échelle internationale.
La meilleure solution semble être de passer à la création de fichiers XLS.

93
Holgerwa

Ces fichiers sont distribués? téléchargé? Généré localement?

Je pense que la façon unique de résoudre votre problème sans accès au PC de l'utilisateur et sans qu'il ait à faire quelque chose de différent du "double-clic" sur le fichier est de convertir les fichiers en .xls avant de les distribuer ou de les placer pour les télécharger ou les générer. un .xls (ou un autre format qui fonctionne) au lieu d’un fichier .csv. Vous pouvez le faire avec un script ou manuellement avec un Excel fonctionnel, en fonction du nombre de fichiers et de la manière dont ils sont générés.

2
laurent

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

sep=;

ou

sep=,

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

193
atx

Vous pouvez utiliser l'assistant d'importation de texte. Ceci ne fonctionne pas fonctionne sur un double-clic-ouvert, mais c’est le meilleur choix que je puisse faire, qui ne nécessite pas de jouer avec les paramètres de lanugage.

Dans Excel 2003, obtenez Data -> Import External Data -> Import Data dans la barre de menus (vous ne pouvez pas savoir où il se trouve en 2007, je n'ai pas cela sous la main pour l'instant). Recherchez et sélectionnez votre fichier CSV.

Lorsqu'il s'ouvre, vous obtenez le Text Import Wizard, qui vous permet de spécifier le ou les délimiteurs à utiliser.

26
DMA57361

Voir cet article:
Des problèmes pour ouvrir des fichiers CSV avec Excel? Le problème des virgules et des points-virgules dans Excel en raison de paramètres régionaux pour l'Europe

Ce qui offre 3 solutions:

  • Remplacez l'extension de fichier CSV par TXT (lorsque vous ouvrez un fichier TXT avec Excel, l'assistant d'importation de fichier texte démarre et vous permet de choisir le délimiteur).
  • Remplacez tous les “,” par “;” dans vos fichiers CSV
  • Modifier vos paramètres régionaux et linguistiques

Comme vous n’avez modifié que la valeur du séparateur de liste dans les paramètres régionaux de Windows, je remarque que l’article dit de saisir «.» Pour Decimal Symbol et «,» pour List Separator.

Si vous vous sentez à l'aise avec VBA, consultez:

Ouverture d'un fichier CSV séparé par des points-virgules avec VBA dans Excel 2000
Exportation et importation de texte avec Excel

6
harrymc

Le meilleur moyen que j'ai essayé est de définir les paramètres régionaux de votre ordinateur comme suit:

  • dans "Standard and Formats", choisissez "English (United States)";
  • dans "Emplacements", choisissez "États-Unis".

Cela fonctionne pour moi, essayez-le.

3
jaz

S'il n'y a pas d'autres virgules dans le fichier, vous pouvez simplement rechercher/remplacer dans un éditeur de texte au point-virgule pour les transformer en virgules. Traiter comme un fichier csv normal après cela.

0
DHayes