Erreur de calcul

[Résolu/Fermé]
Signaler
Messages postés
15
Date d'inscription
lundi 31 mai 2004
Statut
Membre
Dernière intervention
13 mars 2017
-
Messages postés
15
Date d'inscription
lundi 31 mai 2004
Statut
Membre
Dernière intervention
13 mars 2017
-
Bonjour à tous,

je suis embarrassé par ce calcul tout simple en apparence mais dont le résultat retourné par Excel me semble faux.

=ENT((39,0008*100-ENT(39,0008*100))*100)

Personnellement je m'attendrais à avoir 8 comme résultat mais Excel me donne un 7.
Est-ce moi qui ne pose pas convenablement l'opération et dans ce cas merci de me dire comment elle devrait être écrite ou est-ce un BUG d'Excel ?

Merci d'avance pour votre aide car pour le moment je me suis contenté pour obtenir un 8 de modifié le calcul en écrivant :
=ARRONDI(39,0008*100-ENT(39,0008*100);2)*100

6 réponses

Messages postés
14825
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 octobre 2021
306
L'ordinateur calcul sur des nombres dit à virgule flottante.
Ces nombres n'ont pas une précision infinie, du coup, parfois, le calcul n'est pas rond.
Dans ton cas, tu obtiens peut être 7.99999999999
Avec ENT, il ne garde que le 7
Alors qu'avec ARRONDI il arrive à 8.
Messages postés
10151
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 octobre 2021
2 231
Bonjour

Tu as aussi
=MOD(39,0008*100;100)*100
ou plus court
=MOD(39,0008;1)*10000
qui te donneront le résultat attendu

Cdlmnt
Messages postés
15
Date d'inscription
lundi 31 mai 2004
Statut
Membre
Dernière intervention
13 mars 2017

Merci de vos proposition.
Pour NHenry => effectivement j'obtiens 7,99999999998136 mais je ne sais toujours pas pourquoi et avec arrondi effectivement ça règle le problème.

Pour ccm81=> Merci de ta proposition de formule qui est bien plus courte et plus propre que l'arrondi que j'employais pour palier à cette erreur.

Je vais opter pour cette formule.

Merci encore de votre aide.
Messages postés
15
Date d'inscription
lundi 31 mai 2004
Statut
Membre
Dernière intervention
13 mars 2017

Je me demande quand même pourquoi Excel transforme une valeur simple comme 0,0008 en 0,000799999998136.

Quelqu'un a-t-il une explication et par la même une manière de faire pour empêcher Excel de faire ça ?
Messages postés
10151
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 octobre 2021
2 231
Voir ici

Et il n'y a rien à faire !!!

Cdlmnt
Messages postés
15
Date d'inscription
lundi 31 mai 2004
Statut
Membre
Dernière intervention
13 mars 2017

Merci pour le lien.
Maintenant je cerne un peu mieux le problème et je vais voir comment je peux faire pour me passer des nombres à virgule.

Bonne soirée.
Cette fois le sujet est entièrement résolu ;-)