Excel vers CSV sans accents cassés : UTF-8, BOM et séparateurs
La plupart des accents cassés dans un CSV viennent d'un encodage incompatible : le fichier est enregistré en UTF-8 mais ouvert avec un encodage Windows. Exportez la feuille en CSV UTF-8, avec une marque d'ordre des octets (BOM) si c'est Excel qui doit l'ouvrir, et choisissez le séparateur attendu par votre environnement régional. Avant l'export, mettez en texte les colonnes comme les codes postaux et les numéros de téléphone, pour que les zéros soient conservés.
Excel vers CSVBesoin d’un CSV, fichier Excel en mainEssayer gratuitementPourquoi « é » devient « é »
Un caractère dans un fichier est stocké sous forme d'octets. En UTF-8, la lettre é occupe deux octets, C3 et A9. Un programme qui lit ces octets en Windows-1252, un encodage courant sous Windows, voit le caractère à pour C3 et © pour A9. Ainsi « café » apparaît comme « café ». Vous pouvez le vérifier vous-même : encoder é en UTF-8 puis décoder le résultat en Windows-1252 donne é. Un ü, un ñ ou un ö se cassent de la même façon.
La solution n'est pas de modifier les caractères. Il faut indiquer au programme quel encodage utilise le fichier.
UTF-8 et le BOM
UTF-8 est l'encodage standard du texte sur le web et dans la plupart des logiciels modernes. Un fichier CSV simple ne contient aucun champ indiquant son encodage, donc les programmes devinent. Une marque d'ordre des octets (BOM) est constituée de trois octets placés au tout début du fichier, EF BB BF, qui signalent l'UTF-8 aux programmes qui la recherchent. Excel sous Windows ouvre souvent un fichier UTF-8 sans BOM avec son encodage local, si bien que le BOM est la correction la plus courante.
Dans les versions récentes d'Excel, le menu Enregistrer sous propose une option CSV UTF-8 qui ajoute le BOM. Vous pouvez aussi importer le fichier par Données, À partir du texte/CSV, et régler l'Origine du fichier sur 65001, UTF-8. Le BOM a un inconvénient : un programme qui ne l'attend pas peut le considérer comme une partie du nom de la première colonne. La plupart des analyseurs et tableurs le gèrent, mais si un outil d'import signale un en-tête bizarre, retirez le BOM.
Virgule ou point-virgule
CSV signifie valeurs séparées par des virgules, et la spécification RFC 4180 décrit des champs séparés par des virgules. Dans de nombreux pays, y compris ceux qui utilisent la virgule décimale, comme dans 1,5 pour un et demi, le séparateur de liste d'Excel est le point-virgule. Dans ce cas, un fichier séparé par des virgules ouvert dans Excel peut mal se découper, et un nombre comme 1,5 devient deux champs.
Choisissez le séparateur attendu par le programme de destination. L'outil Excel vers CSV propose la virgule, le point-virgule et la tabulation. Si le fichier est destiné à un programme utilisant la virgule décimale, le point-virgule est généralement le choix le plus sûr.
Les dates deviennent des numéros de série
Excel stocke les dates sous forme de numéros de série, en comptant les jours à partir d'un point de départ. Dans le système de dates de 1900, le 1er janvier 1900 correspond au numéro de série 1. Excel traite aussi 1900 comme une année bissextile : il compte donc un 29 février 1900 qui n'a jamais existé, sous le numéro 60. Le 1er mars 1900 devient ainsi le numéro 61, et chaque date ultérieure est décalée d'un jour. Ce bogue vient de Lotus 1-2-3, et Microsoft a conservé le même système pour des raisons de compatibilité. Les autres logiciels peuvent lire avec un jour d'écart les dates antérieures au 1er mars 1900.
Lorsque vous exportez une date, vous pouvez voir 44927 au lieu de 2023-01-01, ou un jour de décalage sur les dates anciennes. L'outil convertit les dates en texte lisible. Si vous exportez manuellement, mettez la colonne de dates en texte au format ISO aaaa-mm-jj, que tous les programmes lisent de la même façon.
Les zéros de début disparaissent
Un code postal comme 02134 est du texte, mais Excel traite un nombre saisi comme un nombre, et l'affiche donc 2134. Le zéro disparaît de la feuille, et le CSV écrit à partir de celle-ci ne le contiendra pas non plus. Les numéros de téléphone commençant par 0 et les longs numéros d'identifiant subissent le même sort. Les très longs nombres peuvent aussi perdre des chiffres, car Excel ne conserve qu'environ 15 chiffres significatifs.
La solution consiste à stocker ces colonnes en texte avant de saisir ou d'importer les données. Lorsque vous ouvrez un CSV qui contient déjà les zéros, utilisez Données, À partir du texte/CSV et réglez la colonne sur Texte, plutôt que de double-cliquer sur le fichier.
Règles de guillemets
RFC 4180 définit le format CSV courant. Ses principales règles de guillemets sont :
- Un champ contenant une virgule, un guillemet double ou un saut de ligne doit être encadré de guillemets doubles.
- Un guillemet double à l'intérieur d'un champ entre guillemets s'écrit en le doublant.
- Dans la spécification, les lignes se terminent par CRLF, même si la plupart des outils acceptent LF.
Par exemple, la ligne "Müller, Anna","She said ""ok""" comporte deux champs : Müller, Anna et She said "ok". Le type MIME enregistré auprès de l'IANA pour le CSV est text/csv.
La RFC 4180 n'autorise pas un guillemet double dans un champ non encadré, et de nombreux analyseurs rejettent une telle ligne ou la découpent mal. Encadrez correctement le champ, ou supprimez le caractère en trop.
Liste de contrôle avant l'export
- Exportez en CSV UTF-8, avec un BOM si Excel doit ouvrir le fichier.
- Choisissez le séparateur attendu par le programme de destination.
- Mettez en texte les colonnes de type identifiant, comme les codes postaux et les numéros de téléphone.
- Écrivez les dates au format aaaa-mm-jj.
- Ouvrez le fichier dans un éditeur de texte simple et vérifiez la première ligne ainsi qu'un échantillon de noms avec accents.
Les caractères cachés, comme les espaces insécables, peuvent aussi provoquer des erreurs d'import. L'outil Supprimer les caractères invisibles les repère et les supprime, et les caractères invisibles dans un texte explique d'où ils viennent. Une fois le fichier propre, Convertisseur CSV vers JSON peut le convertir pour un développeur, comme décrit dans CSV vers JSON et retour.
Avant l'export, il vaut la peine de regarder les cellules elles-mêmes : le Vérificateur de formules Excel liste les formules qui affichent une erreur ou pointent vers un autre fichier, et ce sont précisément ces cellules qui arrivent vides dans un CSV. Après l'export, comparez les deux tableurs pour voir ce qui a changé entre les versions.
Réponses rapides
Pourquoi mon fichier s'affiche-t-il correctement dans un programme et de travers dans Excel ? Lorsqu'un fichier UTF-8 ne contient pas de BOM, Excel sous Windows peut le lire avec son encodage local. Ajouter le BOM, ou importer en sélectionnant UTF-8, règle le problème.
Les versions Mac d'Excel ont-elles besoin du BOM ? Certaines sources l'affirment, donc testez avec un fichier contenant un nom accentué avant de l'envoyer.
Puis-je corriger les dates après l'export ? Oui, si elles sont encore des numéros de série, mais il vaut mieux les exporter au format aaaa-mm-jj dès le départ.
Mon tableur est-il envoyé en ligne lorsque je le convertis ? L'outil fonctionne dans votre navigateur : le fichier est donc traité sur votre propre appareil. Vous pouvez le vérifier avec le guide pour savoir si un outil en ligne envoie vos fichiers.
Traduit de Version originale anglaise avec l’aide de l’IA.
Commentaires
Aucun commentaire pour l’instant. Soyez le premier.


