227 votes

Moyen le plus simple d'ouvrir un fichier CSV avec des virgules dans Excel

Les fichiers CSV sont automatiquement associés à Excel mais lorsque je les ouvre, toutes les lignes sont essentiellement dans la première colonne, comme ceci :

entrer la description de l'image ici

C'est probablement parce qu'Excel pense que "valeurs séparées par des virgules", il recherche en réalité un autre délimiteur (je pense que c'est un point-virgule mais ce n'est pas important).

Maintenant, lorsque j'ai déjà ouvert ce fichier dans Excel, y a-t-il un bouton ou quelque chose pour lui dire "rouvrir ce fichier et utiliser la virgule comme délimiteur" ?

Je sais que je peux importer les données dans une nouvelle feuille de calcul, etc. mais je demande spécifiquement de l'aide dans une situation où j'ai déjà un fichier CSV avec des virgules et je veux l'ouvrir dans Excel sans créer de nouveau classeur ou transformer le fichier d'origine.

3 votes

Pour un certain nombre de raisons, au-delà du simple délimiteur, il est vraiment une très mauvaise idée de laisser Excel ouvrir un fichier CSV (ou tout autre fichier texte) en utilisant les paramètres par défaut. En fonction du fichier source, vous -corromprez- vos données. J'ai écrit un article approfondi à ce sujet ici : theonemanitdepartment.wordpress.com/2014/12/15/…

8 votes

Il est tellement difficile de comprendre ce qui doit se passer à l'intérieur de Microsoft pour qu'Excel ne puisse toujours pas ouvrir les fichiers CSV comme ça. Il casse aussi les numéros, etc. de manière étonnante. Même JavaScript ne convertit pas aussi mal implicitement.

0 votes

Désolé de déterrer.. mais il y a de fortes chances que le fait que votre première ligne ne comporte pas de virgules pousse Excel à abandonner ses efforts

207voto

Raystafarian Points 21292

Allez à l'onglet Données et sélectionnez texte en colonnes sous outils de données puis sélectionnez delimité et cliquez sur suivant. Ensuite, sélectionnez virgule comme délimiteur et cliquez sur terminer.

saisir la description de l'image ici

70 votes

Et vous devez le faire à chaque fois après avoir double-cliqué sur *.csv dans l'Explorateur Windows ? Je ne peux pas croire qu'il n'y ait pas de moyen plus simple, surtout si Excel s'associe à l'extension de fichier *.csv.

3 votes

Généralement, un assistant devrait s'ouvrir vous faisant faire ce processus lorsque vous ouvrez le fichier, mais sinon, vous pouvez le faire de cette manière. Vous pouvez également accéder à données - obtenir des données externes - à partir du texte et exécuter l'assistant d'importation à partir de là.

17 votes

C'est le problème, je ne veux pas importer des données, j'ouvre un fichier CSV parfaitement valide avec lequel Excel s'est même associé. Mais bon, si c'est comme ça, je devrai probablement trouver autre chose pour éditer les fichiers CSV.

191voto

Krivda Points 2001

Placement:

sep=

comme première ligne de votre fichier csv indiquera automatiquement à Excel d'utiliser ce caractère comme séparateur au lieu de la virgule par défaut.

Par exemple:

sep=|
COLONNE1|COLONNE2
donnée,1|donnée2
...

résultera en l'utilisation du pipe (|) comme délimiteur au lieu de la virgule, sans que l'utilisateur ait à passer par l'assistant d'importation.

10 votes

Pour que cela fonctionne dans Excel 2013, vous devez décocher Utiliser les séparateurs du système dans Options>Avancé

1 votes

Pouvez-vous définir le séparateur décimal de manière similaire? Je veux que ce soit ., par exemple, pour 1.5 mais dans mon système, . est le séparateur pour les milliers.

2 votes

Cela a fonctionné pour moi, même si j'ai coché "Utiliser les séparateurs système". Aucune autre solution n'a fonctionné pour moi.

58voto

Maxwell Maake Points 681

Je ne sais pas si vous avez réussi à résoudre ce problème, mais j'ai également rencontré le même problème et je l'ai résolu après quelques recherches.

Il s'est avéré qu'il s'agissait d'un problème de paramètres régionaux;

Allez dans votre panneau de configuration --> Paramètres régionaux --> Param. avancés et changez votre séparateur de liste en virgule.

Le mien était réglé sur un point-virgule pour l'Afrique du Sud après que j'ai changé pour Windows 8. Après l'avoir changé en virgule, tous mes fichiers CSV s'ouvrent correctement avec Excel 2013.

J'espère que cela vous aidera.

Commentaire supplémentaire:
J'ai utilisé les mêmes étapes que Lèse majesté, mais j'ai également changé le symbole décimal d'une virgule (,) en un point (.) et cela a résolu mon problème.

Cela est dû au fait que, par défaut, Windows 8 utilise une virgule comme symbole décimal et Excel est confus lorsqu'il doit utiliser à la fois les caractères comme séparateur et symbole décimal.

0 votes

Déjà configuré de cette manière et ignoré par Excel. Ne se sépare toujours pas par des virgules.

0 votes

Il faut probablement au moins une déconnexion, une reconnexion pour que cela prenne effet.

0 votes

Ça a fonctionné pour moi après avoir changé le symbole décimal, merci!

23voto

François Cassin Points 704

Ceci est ce qui a fonctionné pour moi - c'est une combinaison de certaines des réponses ici.

(Remarque : Mon PC utilise des paramètres de format tchèques qui formate les chiffres ainsi : 1 000,00, c'est-à-dire, la virgule est utilisée comme séparateur décimal et l'espace comme séparateur de milliers. Le séparateur de liste par défaut dans les paramètres système est ;.)

  1. J'ai changé le séparateur de liste système en une virgule dans Région -> Paramètres supplémentaires
  2. Dans Excel 2013, je suis allé dans Options -> Avancé et j'ai décoché Utiliser les séparateurs système (sous "Options d'édition", qui est la première section)
  3. J'ai défini le séparateur décimal dans Excel à . et le séparateur de milliers à , (le séparateur de milliers n'a probablement pas d'importance mais je voulais le rendre cohérent avec le formatage américain)

Une alternative aux étapes 2 + 3 serait de modifier ces paramètres dans les paramètres système (étape 1) mais je veux généralement que les nombres soient formatés selon une locale tchèque.

Inconvénients : dans Excel, je dois maintenant entrer des nombres décimaux en utilisant la locale américaine, c'est-à-dire en utilisant le point au lieu de la virgule. Cela semble un peu contre nature mais c'est un compromis acceptable pour moi. Heureusement, la touche virgule de mon pavé numérique est devenue automatiquement la touche point (et seulement dans Excel - les autres applications affichent toujours une virgule).

0 votes

Cela ne fonctionne pas avec Excel 2010 / cz :-(

0 votes

@LeosLiterak : Je viens d'essayer dans Excel 2013, et ça a fonctionné.

0 votes

Je viens d'essayer et ça fonctionne pour moi. @Excel 2013 & Win10 / cz. Merci. ...Le "séparateur de liste du système en virgule" a dû être également modifié, en effet. Triste. Assez profond, dans Win10.

10voto

Lèse majesté Points 3209

Apparemment, Excel utilise un paramètre régional de Windows 7 pour le délimiteur par défaut des fichiers CSV (qui est apparemment une tabulation par défaut). Vous pouvez modifier ce paramètre de cette manière.

Cependant, je ne sais pas quelles autres répercussions cela pourrait avoir. Je suppose que si tous les fichiers CSV sur votre ordinateur sont séparés par des virgules, il ne devrait pas y avoir de problèmes. Mais si vous avez un autre programme (probablement de Microsoft) qui utilise également des fichiers CSV et qui les forme normalement avec un délimiteur différent, cela pourrait poser problème.

Par exemple, si, disons, Outlook utilise des fichiers CSV séparés par des tabulations pour importer/exporter des contacts, et si vous recevez de tels fichiers CSV d'une source externe (Gmail, un autre ordinateur, peu importe...), alors le changement de ce paramètre à l'échelle du système pourrait empêcher Outlook d'ouvrir ces fichiers CSV séparés par des tabulations.

3 votes

J'ai essayé de modifier mes "paramètres régionaux et linguistiques" > Formats > Paramètres supplémentaires > Séparateur de liste, cependant, cela n'a eu aucun effet sur l'ouverture des fichiers CSV dans Excel. Malheureusement, ce n'est pas une solution.

2 votes

Même chose avec Excel 2010 et Windows 7. C'était déjà dans mes paramètres et Excel continue de revenir à l'onglet par défaut.

0 votes

Avez-vous une idée si nous pouvons entrer 2 caractères différents dans cette case dans le Panneau de configuration ? Par exemple, ;, pour permettre à la fois les caractères comme séparateurs de liste ?

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