Aller directement à l’outil
ViewCSV
Aucun envoi de fichier

Garder les longs numéros et les zéros en tête d’un CSV ouvert dans Excel

Deux phénomènes se mélangent. Un long numéro affiché 4.02177E+19 peut n’être qu’un format d’affichage, qu’une colonne plus large ou le format Nombre suffit à changer. Mais à l’ouverture d’un CSV, Excel convertit aussi la valeur elle-même : une cellule numérique ne garde que 15 chiffres significatifs, et les zéros en tête ne font pas partie d’un nombre. Aucune mise en forme ne rend des chiffres déjà remplacés. Pour conserver les valeurs, il faut qu’elles deviennent des cellules texte avant la conversion : importez ces colonnes au format Texte, ou ouvrez un fichier XLSX dont les cellules sont déjà du texte, comme celui que produit par défaut le convertisseur CSV vers Excel.

Ce qu’Excel fait d’un fichier d’identifiants et de codes

Un CSV n’est que du texte brut, sans type de cellule. Quand vous l’ouvrez d’un double-clic, Excel devine pour chaque valeur s’il s’agit d’un nombre, d’une date ou d’un texte. Le fichier fictif ci-dessous réunit justement les valeurs sur lesquelles cette supposition se trompe.

ValeurDans le CSVExcel ouvre le CSVCellule du XLSX ViewCSV
Zéros en tête0041241200412
Référence de commande à 20 chiffres402177300911524000164.02177E+1940217730091152400016
La référence de commande suivante402177300911524000174.02177E+1940217730091152400017
Numéro de téléphone avec un plus+1555010023415550100234+15550100234
Code article qui ressemble à une date3-1212-Mar3-12
Code de lot contenant un E12E31.20E+0412E3
Remarque qui ressemble à une formule=SUM(F2:F3)17=SUM(F2:F3)
Résultats typiques à l’ouverture par double-clic dans un Excel réglé sur l’anglais (États-Unis). Avec des paramètres régionaux français, la virgule décimale donne par exemple 1,20E+04 et 4,02177E+19, et 3-12 est lu comme le 3 décembre (jour puis mois). Les résultats varient aussi selon la version.

Les deux références s’affichent 4.02177E+19, mais ce n’est que l’affichage. En réalité, Excel n’a gardé que leurs 15 premiers chiffres : les deux cellules contiennent désormais la même valeur, 40217730091152400000. Élargir la colonne fait apparaître ces zéros, pas les chiffres d’origine, et une RECHERCHEV ou une suppression des doublons confond les deux commandes.

Ces lignes forment l’exemple du convertisseur. Téléchargez le CSV pour l’ouvrir dans votre propre Excel et comparer.

Ouvrir CSV en ExcelTélécharger le CSV d’exemple4 lignes de données fictives, UTF-8

La notation scientifique n’est qu’un affichage, les chiffres perdus le sont vraiment

4.02177E+19 est simplement la façon dont une colonne au format Standard, trop étroite, affiche un grand nombre ; une colonne plus large ou le format Nombre en montre davantage. La vraie perte a lieu avant : Excel enregistre les nombres avec une précision de 15 chiffres significatifs, donc tout chiffre à partir du 16e devient zéro lors de la conversion. Un numéro de carte ou de compte à 16 chiffres perd déjà son dernier chiffre.

  • Les zéros en tête disparaissent parce que 00412 et 412 sont le même nombre. Un format personnalisé comme 00000 peut réafficher cinq chiffres, mais la cellule contient toujours 412, et des codes de longueurs différentes ne se rétablissent pas ainsi.
  • Les longs identifiants perdent tous les chiffres après le 15e. Aucun format, aucune formule ni aucun outil ne peut les retrouver dans un fichier enregistré après la conversion.
  • Des codes comme 3-12 ou 12E3 deviennent une date ou un nombre en notation scientifique, et le texte d’origine n’est plus dans la cellule.
  • Les valeurs qui commencent par = sont traitées comme des formules et remplacées par leur résultat.
Remarque Réenregistrer la feuille en CSV écrit les valeurs modifiées dans le fichier. Si quelqu’un a ouvert puis enregistré le CSV dans Excel, comparez-le avec l’export d’origine : une fois les chiffres devenus des zéros dans le CSV, ils sont perdus.

Créer plutôt un XLSX avec des cellules texte

Contrairement à un CSV, un classeur .xlsx enregistre le type de chaque cellule, et Excel affiche une cellule texte telle qu’elle a été écrite. Le convertisseur CSV vers Excel écrit par défaut chaque valeur dans une cellule texte. Il fonctionne dans votre navigateur et n’envoie pas le fichier sur un serveur.

  1. Ouvrez votre CSV dans le convertisseur CSV vers Excel, ou cliquez sur Essayer avec un exemple pour charger les lignes ci-dessus.
  2. Vérifiez le tableau sous Entrée : identifiants, zéros et codes apparaissent exactement comme dans le fichier.
  3. Laissez Types de valeurs sur Tout garder en texte.
  4. Cliquez sur Télécharger en XLSX et ouvrez le classeur dans Excel.

Dans le classeur, 00412, les 20 chiffres des deux références, +15550100234, 3-12, 12E3 et =SUM(F2:F3) sont des cellules texte. Une valeur qui ressemble à une formule est stockée comme simple texte : rien n’est calculé à l’ouverture. Excel peut signaler un texte d’allure numérique par un petit triangle vert (Nombre stocké sous forme de texte) ; la valeur reste intacte.

Remarque Des cellules texte ne s’additionnent pas. Pour calculer avec quantity ou unit_price, lisez la section suivante plutôt que de convertir des colonnes entières dans Excel, où une colonne d’identifiants sélectionnée par erreur serait convertie elle aussi.

Quand il vous faut aussi de vrais nombres

Détecter les nombres et true/false ne rend une colonne numérique que si toutes ses valeurs sont des nombres simples qu’Excel peut stocker sans les modifier. Dans l’exemple, quantity et unit_price deviennent des nombres, tandis que customer_id (zéros en tête), order_ref (plus de 15 chiffres), part_code et note restent du texte.

La détection juge la forme des valeurs, pas leur sens, et décide pour la colonne entière. Une colonne composée uniquement de valeurs comme +15550100234 se lit comme des entiers signés, et une colonne de valeurs comme 12E3 comme de la notation scientifique : dans l’exemple, phone et lot_code deviendraient donc aussi des nombres. Pour ce type de fichier, gardez le réglage par défaut et convertissez seulement les cellules de quantité dans Excel : sélectionnez-les et choisissez Convertir en nombre dans l’icône d’avertissement.

Si vous devez partir du CSV dans Excel

Si un classeur converti n’est pas envisageable, n’ouvrez pas le CSV d’un double-clic : importez-le et passez les colonnes à risque en Texte avant tout chargement. Dans Excel pour Microsoft 365, cela se fait via Données > À partir du texte/CSV > Transformer les données : supprimez l’étape automatique Type modifié, passez les colonnes d’identifiants en Texte, puis chargez. Le guide pour importer un fichier CSV dans Excel détaille cette méthode ainsi que l’ancien Assistant Importation de texte.

Les versions récentes d’Excel pour Microsoft 365 et d’Excel 2024 proposent aussi, dans les options de données, des paramètres de conversion automatique des données qui peuvent empêcher la suppression des zéros en tête, l’arrondi des longs nombres, la notation E et la transformation en date. Leur présence et leur nom dépendent de la version et de la plateforme, et ces réglages ne s’appliquent qu’à votre Excel, pas à celui de vos collègues.

Ce qui ne protège pas les valeurs

  • Les guillemets autour de la valeur ("00412") indiquent seulement au lecteur CSV où une valeur commence et se termine. Excel convertit les nombres entre guillemets exactement de la même façon.
  • Une marque d’ordre des octets UTF-8 (BOM) aide Excel à lire correctement les accents et les autres écritures. Elle ne dit rien des types de cellules.
  • Mettre la colonne au format Texte après l’ouverture arrive trop tard, car la conversion a déjà eu lieu.
  • Les formules d’habillage comme ="00412" ne fonctionnent que là où un tableur évalue les formules. Les autres lecteurs CSV, les bases de données et les scripts voient le texte littéral ="00412" : la donnée du fichier n’est plus l’identifiant.
  • Une apostrophe en tête ('00412) n’est pas une formule : saisie dans Excel, elle marque l’entrée comme texte et ne s’affiche pas. Dans un fichier CSV, en revanche, c’est un caractère comme un autre, et les autres programmes reçoivent '00412 comme valeur.
  • Une vraie cellule texte dans un XLSX conserve la valeur brute 00412, sans caractère ajouté. C’est ce qu’écrit le convertisseur : ViewCSV n’ajoute ni formule d’habillage ni apostrophe.

Limites

Le convertisseur accepte des fichiers jusqu’à 25 Mo, 100 000 lignes, 250 colonnes et 2 millions de cellules, avec une feuille par classeur. Un fichier déjà enregistré avec des identifiants arrondis ou des zéros supprimés ne se répare pas par la conversion : exportez-le de nouveau depuis sa source. Les tests de ViewCSV vérifient les types de cellules du XLSX généré avec un lecteur indépendant ; l’affichage à l’écran peut varier selon la version d’Excel.

Sources

Documentation Microsoft, résumée avec nos propres mots. Les noms de menus peuvent différer dans votre version d’Excel.

Autres guides

Guides CSV et Excel