Pourquoi les fichiers CSV se corrompent dans Excel : Encodage, séparateurs et zéros initiaux
Sommaire
- Diagnostic direct : Format de fichier brut vs. Interprétation d'Excel
- Le piège du mojibake : UTF-8 vs. UTF-8 avec BOM
- Le conflit régional virgule / point-virgule (Tout dans la colonne A)
- Guillemets et retours à la ligne au sein des champs (Norme RFC 4180)
- Zéros initiaux supprimés et limite de précision à 15 chiffres
- Procédure officielle d'importation dans Microsoft Excel
- Outils de traitement CSV sécurisés GoToolstack
- Références techniques et normes officielles
1. Diagnostic direct : Format de fichier brut vs. Interprétation d'Excel
Un fichier CSV (Comma-Separated Values) est un simple flux de texte brut non mis en forme. Il ne contient que des caractères, des séparateurs de champs et des retours à la ligne. Quand un CSV s'affiche corrompu dans Excel (caractères bizarres, toutes les données dans la colonne A ou chiffres tronqués), le fichier d'origine est rarement en cause : ce sont les mécanismes de détection automatique d'Excel au double-clic qui échouent.
Le double-clic force Excel à deviner l'encodage et les délimiteurs d'après les paramètres régionaux de Windows. Pour maîtriser vos données, quatre règles techniques sont indispensables :
2. Le piège du mojibake : UTF-8 vs. UTF-8 avec BOM
Les applications web modernes génèrent du texte encodé en UTF-8 standard sans marque d'ordre des octets (BOM). Mais sous Windows, Excel de bureau applique par défaut la page de code ANSI locale (Windows-1252 en Europe occidentale).

Sans la signature de 3 octets (BOM : 0xEF, 0xBB, 0xBF) au tout début du fichier, Excel lit les séquences UTF-8 multi-octets comme des lettres ANSI séparées, produisant des caractères illisibles :
| Texte d'origine | Affichage corrompu dans Excel (sans BOM) | Mécanisme de l'erreur |
|---|---|---|
München / İstanbul |
München / İstanbul |
UTF-8 2-byte → ANSI Mojibake |
Français / Español |
Français / Español |
Diacritics parsed as individual code points |
€ 1,500 / ₺ 5,000 / ¥ 10,000 |
€ 1,500 / ₺ 5,000 / ¥ 10,000 |
Multi-byte currency symbols decoded into ANSI artifacts |
Pour les utilisateurs d'Excel, ajoutez systématiquement le BOM UTF-8 lors de la création de vos CSV. Dans le convertisseur JSON ↔ CSV de GoToolstack, cochez simplement Ajouter UTF-8 BOM (\uFEFF) pour Excel.
3. Le conflit régional virgule / point-virgule (Tout dans la colonne A)
Aux États-Unis et au Royaume-Uni, le point sert de séparateur décimal (12.50) et la virgule sépare les colonnes. Mais en France, au Canada francophone et en Europe, la virgule est légalement le séparateur décimal (12,50).
Une virgule ne pouvant pas être à la fois décimale et délimiteur de colonne, Windows définit le point-virgule (;) comme ListSeparator par défaut. En ouvrant un CSV délimité par des virgules d'un double-clic, Excel ne trouve aucun point-virgule et entasse toute la ligne dans la Colonne A.
Générez des fichiers avec point-virgule ou utilisez l'assistant Données > À partir d'un fichier texte/CSV d'Excel pour sélectionner explicitement la virgule.
4. Guillemets et retours à la ligne au sein des champs (Norme RFC 4180)
Lorsqu'une cellule contient une virgule, un point-virgule ou un texte sur plusieurs lignes, la norme RFC 4180 impose d'entourer la valeur de guillemets doubles. Les guillemets internes sont échappés en les doublant ("") :
ID,Customer,Address,Notes
101,"Acme, Inc.","123 Industrial Way
Suite 400","Order confirmed with ""Express"" shipping"5. Zéros initiaux supprimés et limite de précision à 15 chiffres
Excel tente de deviner le type de chaque colonne non typée. Si une cellule ne contient que des chiffres, Excel la convertit automatiquement en nombre à virgule flottante, causant deux pertes irrémédiables :
Perte des zéros initiaux : Les codes postaux et numéros de téléphone (ex. "01234") deviennent des entiers (1234). Les zéros initiaux sont définitivement effacés de la mémoire.
Limite de précision à 15 chiffres (Moteur Excel vs. IEEE 754) : Le moteur de calcul de Microsoft Excel limite strictement la précision numérique à 15 chiffres significatifs. Bien que la norme IEEE 754 permette de représenter les entiers jusqu'à 253 (9 007 199 254 740 992, soit 16 chiffres) sans arrondi, Excel remplace par convention interne tous les chiffres au-delà du 15e par des zéros (1234567890123456 → 1234567890123450) !
AVERTISSEMENT CRITIQUE : Modifier le format de cellule en 'Texte' après ouverture ne restaure aucun chiffre tronqué. Les chiffres originaux sont détruits dès le chargement en mémoire vive.
6. Procédure officielle d'importation dans Microsoft Excel
Pour importer n'importe quel CSV sans caractères corrompus ni perte de chiffres, suivez le workflow Power Query :
- Ouvrez Excel sur un classeur vierge (ne double-cliquez pas sur le fichier CSV).
- Cliquez sur Données > Obtenir des données > À partir d'un fichier > À partir d'un fichier texte/CSV.
- Dans la fenêtre d'aperçu, sélectionnez Origine du fichier :
65001: Unicode (UTF-8). - Choisissez le Délimiteur approprié (virgule ou point-virgule).
- Cliquez sur Transformer les données. Dans l'éditeur Power Query, passez le type de données des colonnes d'identifiants ou de téléphones en Texte.
- Cliquez sur Fermer et charger pour insérer vos données fidèles dans la feuille.
- Enregistrez le classeur au format Excel (
.xlsx) au lieu d'écraser le fichier CSV original brut, préservant ainsi les données sources intactes.
7. Outils de traitement CSV sécurisés GoToolstack
Convertissez et préparez vos données tabulaires directement dans votre navigateur en toute confidentialité :
- Convertisseur JSON ↔ CSV : Ajoutez le BOM UTF-8, choisissez les séparateurs et personnalisez les fins de ligne CRLF/LF.
- Convertisseur Excel ↔ CSV/JSON : Conversion locale avec SheetJS sans transfert de données vers des serveurs tiers.
- Hub d'outils développeur : Tous nos utilitaires de formatage et de validation de données.
Références techniques et normes officielles
- IETF RFC 4180: Format commun et type MIME pour les fichiers CSV (Règles d'échappement, CRLF et séparateurs).
- Microsoft Learn / Support: Importer ou exporter des fichiers texte (.txt ou .csv) dans Microsoft Excel (Préservation des types Power Query).
- Unicode Consortium: FAQ – Lignes directrices sur UTF-8, UTF-16, UTF-32 et l'indicateur d'ordre des octets (BOM).