Comment dépasser la limite de 15 "1"

Hi,

Alors pour archive, ici le lien du support Microsoft, indiquant la limite à 15 chiffres (doublon avec dhany tant pis, le temps de faire mon roman aussi ^^).

https://support.microsoft.com/fr-fr/help/269370/last-digits-are-changed-to-zeroes-when-you-type-long-numbers-in-cells

Cause :

Excel suit la spécification IEEE 754 sur la manière de stocker et de calculer des nombres à virgule flottante. Excel stocke uniquement 15 chiffres significatifs dans un nombre par conséquent et modifie les chiffres après la quinzième en zéros.

Solution de contournement

Pour contourner ce problème, mettez la cellule sous forme de texte, puis tapez les numéros. La cellule peut ensuite afficher jusqu'à 1 024 caractères.

Pages des différentes limites Excel ici aussi :

https://support.office.com/fr-fr/article/sp%C3%A9cifications-et-limites-relatives-%C3%A0-excel-1672b34d-7043-467e-8e27-269d656771c3

Sinon en checkant l'internet des américains (besoins pour les calculs de la Nasa tout ça pour parler aux Donald d'Alpha Centauri) j'ai peut être une solution en passant par VBA, le calcul à l'air de se faire :

1/ il suffit de récupérer le chiffre en format texte (ici x)

2/ d'utiliser la variable Variant qui permet d'utiliser plus d'espace pour la précision numérique (Excel fonctionne en 8 octets de base et la variable Variante est à 16 octets https://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel#cite_note-John_Walkenbach-16, voir Edit aussi)

3/ et de calculer avec la fonction CDec pour convertir le texte en chiffre et faire le calcul.

Voilà le code que j'ai testé vite fait et qui a l'air de marché :

Sub test()
Dim LDecimal As Variant

x = "111110000011111001"
LDecimal = CDec(x)

test_calcul = CDec(LDecimal + 1)

End Sub

Screen de l'opération, voyez la variable test_calcul, qui prend bien l'ajout du +1 au chiffre de 18 chiffres

vba test calcul augmentation precision numerique

Je pousse pas les tests pas trop d'idées à quoi ça peut servir, je vous laisse la main

Edit 20:08 :

Lien support sur Décimal qui gère jusqu'à 29 chiffres significatif au lieu de 15 : https://docs.microsoft.com/fr-fr/dotnet/visual-basic/language-reference/data-types/decimal-data-type

Lien support sur CDec https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/type-conversion-functions

Bonsoir waard,

pour le doublon : no souci.

merci pour ton complément d'infos !

santé !

dhany

Bonsoir,

et le boulier dans tout ça ?

boulier

Avec des variables tableau on pourrait aller loin, non ?

@ bientôt

LouReeD

salut LouReeD,

pour le boulier, j'ai lu qu'certains asiatiques sont si doués avec qu'ils arrivent à calculer plus vite qu'une calculatrice, et même qu'un ordinateur ! c'est drôlement fortiche, hein ?

par contre, comme ils arrivent pas à l'faire plus vite que leur ombre, c'est Lucky Luke qui reste indétrônable !

dhany

Rechercher des sujets similaires à "comment depasser limite"