172 votes

Pourquoi Excel traite-t-il les longues chaînes numériques comme une notation scientifique même après avoir changé le format de la cellule en texte ?

J'essaie de traiter des données dans Excel. Ces données comprennent des numéros de compte numériques et d'autres longues chaînes numériques (comme les numéros d'identification des téléphones portables). Je n'effectue pas d'opérations mathématiques sur ces chaînes, et je souhaite donc qu'Excel les traite comme du texte brut.

Voici ce qui me rend fou (il s'agit d'Excel 2010) :

  1. Prenez un long nombre comme 1240800388917 et collez-le dans une cellule d'une nouvelle feuille de calcul.
  2. Le format de cellule par défaut d'Excel est général, la chaîne est donc présentée en notation scientifique sous la forme 1.2408E+12.
  3. Cliquez avec le bouton droit de la souris sur la cellule, sélectionnez Format Cells, définissez le format sur Text.

La cellule est toujours affichée en notation scientifique, même si le format a été défini sur texte.

Maintenant, si je fais les étapes dans un ordre différent :

  1. Formatez une cellule vide en tant que texte. Cliquez avec le bouton droit de la souris sur la cellule, sélectionnez Format des cellules et définissez le format sur Texte.
  2. Prenez un long nombre comme 1240800388917 et collez-le dans la cellule formatée texte.

Maintenant, la cellule est affichée comme une chaîne de caractères et non en notation scientifique.

Le fait que les résultats restent en notation scientifique alors que la cellule est formatée en tant que texte me semble être une erreur. J'ai vu des suggestions de contournement telles que : utiliser l'importation CSV et définir le format en texte, ajouter un caractère d'espacement au début de chaque chaîne numérique, et d'autres encore.

Existe-t-il une solution simple et efficace pour que ces chaînes de caractères restent formatées en tant que texte ?

Pourquoi diable Excel fait-il cela ?

J'ai trouvé des questions liées au SU : Comment faire pour qu'Excel 2007 cesse de formater les grands nombres en notation scientifique ? et Ce comportement d'Excel avec un grand nombre hexagonal est-il attendu ?

11voto

AcePL Points 1650

Je suis conscient de l'ancienneté de la question, mais c'est celle que j'ai trouvée après une recherche sur Google et qui ne répondait pas à ma question (pourquoi le formatage en texte ne fonctionne pas et pourquoi le numéro est réduit à 15 chiffres après le formatage en texte).

La réponse courte est la suivante : vous ne pouvez pas travailler sur votre numéro comme vous le souhaitez APRÈS avoir saisi la valeur numérique et tapé sur le bouton. Enter . Dès que vous faites cela, le nombre sera tronqué à 15 chiffres et présenté comme exponentiel.

Ce n'est pas un bug, c'est une fonctionnalité.

Tout ce que vous ferez ensuite utilisera la valeur tronquée, de sorte qu'aucune astuce de formatage ne sera utile. Cependant, vous pouvez utiliser la fonction Text to columns option pour convertir la notation exponentielle en texte (Cliquez sur l'en-tête de colonne, cliquez sur Text to data alors Delimited , Next décochez toutes les cases de délimitation, sélectionnez Text en Column data format et ensuite Finish ) pour que les valeurs soient converties en texte et immédiatement affichées sous forme de nombre à 15 chiffres. Mais, il n'y aura que 15 chiffres, donc si vous aviez un nombre plus long, le reste est perdu.

Afin d'avoir le numéro dans la feuille de calcul exactement la façon dont vous l'avez tapé, vous devez le stocker en tant que texte. Vous avez donc deux façons de procéder, mais elles ne fonctionneront qu'AVANT/pendant l'édition :

  1. vous devez le faire précéder d'une apostrophe ou formater les cellules en tant que texte. avant en y tapant/copiant des valeurs,

  2. vous devez formater la colonne cible comme Text avant l'entrée.

Si vous utilisez la méthode 1 et que cela "ne fonctionne pas toujours", alors, désolé, soit vous faites quelque chose de mal, soit vous avez activé une sorte de correction automatique (si vous utilisez une apostrophe et un grand nombre >15 chiffres, Excel le traite comme une valeur erronée et signale la cellule avec un message d'avertissement, donc cette remarque n'est ni personnelle ni critique).

La méthode 2 est très utile, car elle fonctionne avec le copier-coller, même avec de grands ensembles de données.

Une autre façon de le faire en masse est d'importer des valeurs à partir d'un fichier texte. J'ose dire que c'est le seul moyen pour la plupart des situations. Et assurez-vous d'importer le fichier, et pas seulement de l'ouvrir, comme Excel le fait. csv comme son format natif et réduit les grands nombres à 15 chiffres comme une évidence.

Venons-en maintenant à la dernière question. Si vous entrez une grande valeur numérique dans une cellule Excel formatée en texte, elle sera toujours affichée en notation scientifique tant que la cellule n'est pas assez large. C'est ennuyeux, mais c'est un effet secondaire de certains algorithmes internes d'Excel. Il suffit d'élargir la cellule pour que la valeur complète s'affiche à chaque fois.

4voto

gsoClarke Points 31

Excel 2010 : Cela fonctionne une colonne à la fois et pas du tout pour une ligne. Sélectionnez la colonne ou le sous-ensemble d'une colonne, dans l'onglet Données, sélectionnez "Texte vers les colonnes", et passez directement à "Terminer". Plus de notation scientifique.

Je suis d'accord avec les nombreux utilisateurs d'Excel, il est criminel qu'il n'y ait pas d'option pour empêcher la notation scientifique !

4voto

Graham Points 51

Vous pouvez formater les cellules comme Personnalisé > #.

Vous pouvez l'appliquer après avoir collé les données dans la colonne, mais vous devez le faire avant d'enregistrer la feuille de calcul.

Je travaille beaucoup avec des codes-barres (UPC) et Excel les formate par défaut en notation scientifique. Cela me rend fou ! Je ne saurai jamais pourquoi ce n'est pas une option.

3voto

Tim Richardson Points 153

Excel est frustrant pour les travaux de type CSV/bulk data comme celui-ci. Travaillez avec LibreOffice si possible, il ne fait pas cela, c'est-à-dire que si vous ouvrez la même feuille (.xlsx) dans LibreOffice, les grands "chiffres" qui sont en fait des chaînes de caractères ne sont pas affichés en notation scientifique (ce qui est une décision absurde d'Excel). La fidélité aux fichiers de LibreOffice est excellente : ouvrez à nouveau le même fichier .xlsx dans Excel, et la notation scientifique fonctionne instantanément comme d'habitude.

1voto

chris Points 3519

Dans Excel 2013, la même chose m'est arrivée et je suis simplement allé dans Format des cellules -> Nombre puis j'ai vérifié que la décimale est définie sur "0".

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