Guides

CSV ouvert dans une seule colonne sur Excel : pourquoi et comment corriger

Par l’équipe Opener6 min de lecture

Quand un CSV s’ouvre avec tout entassé dans la colonne A, c’est que le fichier utilise un autre séparateur que celui attendu par Excel : le plus souvent des virgules dans un fichier ouvert sur un ordinateur réglé pour les points-virgules, ou l’inverse. Les données n’ont aucun problème. Ouvrez le fichier avec un outil qui détecte le séparateur, comme la visionneuse CSV, ou indiquez à Excel quel séparateur utiliser via son import de données ou la fonction « Convertir ».

Virgule, point-virgule et virgule décimale

« CSV » signifie comma-separated values, valeurs séparées par des virgules, mais en pratique le séparateur est celui qu’a choisi le programme qui a écrit le fichier. Voici la même ligne écrite des deux façons :

Date,Client,Montant
2024-03-15,Dupont SARL,1250.50
Date;Client;Montant
2024-03-15;Dupont SARL;1250,50

La seconde version s’explique par le séparateur décimal. Dans une grande partie de l’Europe (France, Allemagne, Italie, Espagne, Pays-Bas, Pologne, Ukraine et bien d’autres pays), on écrit les nombres avec une virgule décimale : 1250,50. Si la virgule séparait aussi les colonnes, 1250,50 serait coupé en deux cellules. Les tableurs de ces régions utilisent donc le point-virgule comme séparateur de colonnes.

Aucun des deux formats n’est faux. Ce sont simplement deux conventions, et les ennuis commencent quand un fichier écrit selon l’une est ouvert par un programme qui attend l’autre. Pour en savoir plus sur le format lui-même, lisez ce qu’est un fichier CSV.

Pourquoi Excel met tout dans la colonne A

Quand vous double-cliquez sur un fichier .csv, Excel n’analyse pas le fichier pour trouver son séparateur. Il utilise le séparateur de listes défini dans les paramètres régionaux de votre système. Sous Windows, ce réglage suit votre région : un ordinateur réglé sur un pays à virgule décimale a généralement le point-virgule comme séparateur de listes, et un ordinateur réglé sur les États-Unis ou le Royaume-Uni a la virgule.

Le conflit se produit donc dans les deux sens :

C’est la même chose pour les exports de services web, de boutiques en ligne et de CRM. Beaucoup écrivent toujours des virgules, où que vous soyez, ce qui explique pourquoi les utilisateurs européens tombent si souvent sur ce problème. Un problème voisin, les lettres qui se transforment en symboles comme é, relève de l’encodage et non du séparateur : voir caractères bizarres dans un CSV.

Solution 1 : l’ouvrir avec détection automatique du séparateur

Si vous avez juste besoin de lire le fichier (vérifier une commande, retrouver un client, voir ce que contient un export), le plus rapide est une visionneuse qui trouve le séparateur toute seule.

La visionneuse CSV d’Opener analyse le fichier, détecte s’il est séparé par des virgules, des points-virgules, des tabulations ou des barres verticales, puis affiche un vrai tableau. Elle détecte aussi l’encodage du texte (UTF-8, Windows-1251 ou Windows-1252) et gère les valeurs entre guillemets qui contiennent le séparateur, comme "Martin, Julie". Rien à configurer, pas de compte, et le fichier reste dans votre navigateur : il n’est jamais envoyé. Vous pouvez rechercher, trier et exporter le résultat en CSV ou en JSON.

Solution 2 : utiliser l’import d’Excel ou « Convertir »

Pour travailler sur les données dans Excel, indiquez-lui le séparateur au lieu de double-cliquer.

Importer à partir d’un fichier texte/CSV. Ouvrez un classeur vide, allez dans l’onglet Données et choisissez d’importer à partir d’un fichier texte/CSV. Excel affiche un aperçu avec une liste Délimiteur : choisissez Virgule ou Point-virgule jusqu’à ce que les colonnes soient correctes, puis chargez les données. Le même aperçu permet de régler l’encodage du fichier si les lettres sont illisibles.

Convertir. Si les données sont déjà dans la colonne A :

  1. Sélectionnez la colonne A.
  2. Dans l’onglet Données, choisissez Convertir.
  3. Choisissez Délimité, puis cochez le séparateur de votre fichier (par exemple Point-virgule ou Virgule).
  4. Terminez l’assistant.

Un point de vigilance avec les deux méthodes : le format des nombres. Un fichier contenant 1250.50 ouvert sur un système à virgule décimale peut lire le montant comme du texte ou comme un mauvais nombre. L’aperçu d’import et la dernière étape de l’assistant de conversion permettent de définir comment chaque colonne est interprétée : vérifiez quelques montants avant de vous fier aux totaux.

Solution 3 : ajouter une ligne « sep= » pour Excel

Il existe une astuce propre à Excel : ajouter tout en haut du fichier une ligne qui indique le séparateur.

sep=;
Date;Client;Montant
2024-03-15;Dupont SARL;1250,50

Ouvrez le fichier dans un éditeur de texte brut, ajoutez sep=; (ou sep=, pour un fichier à virgules) en première ligne, enregistrez et double-cliquez à nouveau dessus. Excel lit l’indication, utilise ce séparateur et n’affiche pas la ligne elle-même.

C’est un contournement, pas une norme. Les autres programmes (Google Sheets, LibreOffice, bases de données, scripts) ne connaissent pas sep= et l’affichent généralement comme une première ligne en trop, ou le prennent pour l’en-tête. Réservez-le aux fichiers destinés uniquement à des utilisateurs d’Excel.

Solution 4 : Google Sheets, LibreOffice ou vos paramètres régionaux

Google Sheets. Utilisez Fichier → Importer et importez le CSV. La fenêtre d’import propose une option de type de séparateur : vous pouvez laisser la détection automatique ou choisir vous-même le séparateur, y compris un caractère personnalisé.

LibreOffice Calc. Quand vous ouvrez un CSV, LibreOffice affiche une fenêtre d’import de texte avec des cases à cocher pour la virgule, le point-virgule, la tabulation et d’autres séparateurs, et un aperçu en direct. Il est gratuit sous Windows, macOS et Linux.

Changer le séparateur de listes de Windows. Dans les paramètres régionaux du Panneau de configuration classique, les paramètres supplémentaires comportent un champ Séparateur de listes. Le régler sur la virgule permet à Excel d’ouvrir directement les fichiers séparés par des virgules par double-clic. À manier avec précaution : c’est un réglage global du système, qui change aussi la façon dont Excel sépare les arguments des fonctions dans les formules et la façon dont les autres programmes lisent et écrivent les fichiers CSV. Si vous échangez des fichiers avec des collègues de votre pays, ils commenceront à recevoir des virgules de votre part. Pour la plupart des gens, les méthodes d’import ci-dessus sont plus sûres.

Questions fréquentes

Pourquoi le même CSV s’ouvre-t-il correctement sur l’ordinateur de mon collègue ?

Ses paramètres régionaux utilisent un autre séparateur de listes. Excel s’appuie sur ce réglage quand vous double-cliquez sur un CSV : le même fichier peut donc s’ouvrir correctement sur un ordinateur et finir dans une seule colonne sur un autre.

Faut-il enregistrer mes CSV avec des virgules ou des points-virgules ?

Tout dépend de qui les ouvre. Pour les autres programmes, les scripts et les collègues à l’étranger, la virgule est la valeur par défaut la plus courante. Pour les utilisateurs d’Excel dans les pays à virgule décimale, le point-virgule s’ouvre directement. Si vous le pouvez, demandez au destinataire.

Pourquoi certaines lignes ont-elles encore un mauvais nombre de colonnes ?

En général parce qu’une valeur contient le séparateur lui-même, par exemple un nom d’entreprise avec une virgule qui n’a pas été placé entre guillemets. Les visionneuses et outils d’import qui respectent les règles de guillemets du CSV gèrent les valeurs entre guillemets ; les autres doivent être corrigées à la source.

La visionneuse CSV gère-t-elle les fichiers séparés par des tabulations ou des barres verticales ?

Oui. La visionneuse CSV détecte automatiquement les virgules, points-virgules, tabulations et barres verticales, et ouvre les fichiers .csv, .tsv et .txt.