Transformer un nombre en écriture scientifique, avec un nombre de caractère

Bonjour,

J'utilise EXCEL pour générer/adapter du code pour d'autres logiciels (cela n'est pas très importante), j'ai donc besoin d'avoir des données relativement "maitrisées" quand je génère ce dernier. Une version simplifiée du problème est que le nombre de caractères que je peux mettre par cases dans Excel est strict (10 caractères) si je veux pouvoir facilement exporter mon code. Si par exemple dans une case, je met la valeur "10", je dois mettre 8 " " (espaces) avant.

Dans les cas avec du texte, cela est simple, je peux utiliser la fonction NBCAR et facilement concaténer le résultats par la suite. Pour les nombres (spécialité d'excel, c'est là que tout se complique.

En général, j'utilise de très grandes valeurs et avec une très grande précision, par exemple 152254522655452. Or cette valeur fait bien plus de 10 caractères, je souhaiterais donc la passer en format scientifique. Ceci me donne alors de base 1.52e+14 dans excel, mais le problème c'est que je perd énormément de précision dans les résultats si je prends cette valeur, et je n'exploite pas tout le potentiel de la cellule car je n'ai que 8 caractères.

Je souhaiterais réussir a transformer par exemple 152254522655452, en une chaine de 10 caractères, en format scientifique (1.5225e+14) automatiquement.

Ce que je comptais faire est un peu archaïque, mais c'est la seule solution que j'ai trouvée pour le moment. Je souhaitais réaliser une liste avec toujours plus de décimales, compter le nombre de caractères, et utiliser un recherchev pour sélectionner la valeur optimale.

MAIS, et c'est là tout le problème, quand j'utilise la fonction NBCAR de excel, sur un nombre en format scientifique, Excel me donne le nombre de caractères total de la cellule (15 caractères pour 152254522655452), et non le nombre de caractères affichés en format scientifique (10 caractères pour 1.5225e+14).

Est-ce-que quelqu'un aurait une idée soit pour réaliser automatiquement cette conversion 152254522655452 -> 1.5225e+14 (10 caractères), ou alors pour permettre de compter correctement le nombre de caractères lorsque l'écriture scientifique est utilisée ?

Je vous remercie,

Bonne journée.

Bonjour,

utilise un format personnalisé "0.0000e+00" pour avoir 10 caractères

Je vous remercie pour la suggestion.

Cette approche est très intéressante, mais lorsque les nombres ont un signe négatif, cela ne marche plus car cela rajoute un caractère (je viens de faire le test et ce problème auquel je n'avais pas pensé est survenu).

J'ai ajouté une étape supplémentaire avec un IF<0 pour résoudre cela pour le moment, je ne sais pas si une méthode permet de traiter ce cas.

Bonne journée.

bonjour,

pour tenir compte des nombres négatifs, utilise le format personnalisé suivant

0.0000E+00;-0.000E+00

Merci, ca marche super bien. Je vous remercie vraiment.

Sauriez-vous s'il est possible de concaténer facilement/rapidement ce type de champs en conservant le format personnalisé ? J'ai essayé les fonctions traditionnelles (JOINDRE.TEXTE et CONCATENER), mais sans succès:

-1.872E+087.8947E+08

devient à chaque fois :

-187215368789468247

alors que je chercherais à obtenir :

-1.872E+087.8947E+08

La seule manière que j'ai trouvée est de concaténer les cellules par groupe de texte en ajoutant individuellement le format personnalisé associé:

=TEXTE(Case1;"0.0000E+00;-0.000E+00")&TEXTE(Case2;"0.0000E+00;-0.000E+00")

Cela permet de résoudre le problème, mais je me demandais s'il existait plus simple.

Bonne journée.

Bonjour,

A ma connaissance c'est bien ainsi qu'il faut faire le plus simplement, utiliser la fonction TEXTE

Rechercher des sujets similaires à "transformer nombre ecriture scientifique caractere"