Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 0.1 <> 0.1 ! Bug ??

VinceNC

XLDnaute Nouveau
Bonjour à tous,

Une petite formule conditionnelle avec un SI tout ce qu'il y a de plus classique sauf que, d'après mon fichier 1.1-1 <> 0.1...
(je suis pas un caïd en math mais là, ça devrait être à ma portée... du moins je le croyais !)

Pour mieux comprendre, je vous joins le fichier.
Évidemment, j'ai vérifié le format et qu'il n'y ait pas des centièmes qui jouent à cache-cache.

Sur la colonne E, vous trouverez cette formule =SI(B3-B2<>0.1;D2;0) pour laquelle, curieusement, même si B3-B2=0.1, le résultats sera quand même D2. J'ai testé en retournant la formule avec = et ça ne marche pas plus...

J'ai trouvé une solution de contournement mais j'aimerais comprendre.

Bug ou juste un truc qui m'échappe ?

Merci
 

Pièces jointes

  • Test1.xlsx
    10.7 KB · Affichages: 30

natorp

XLDnaute Accro
Bjr VinceNC

Je ne comprends pas plus, mais regarde le résultat avec 30 décimales ???
Peut-être d'autres auront l'explication ....

Cordialement, Gérard
 

Pièces jointes

  • Classeur1.xls
    13.5 KB · Affichages: 20

eriiic

XLDnaute Barbatruc
Bonjour,

Met 1.1 en B2, 1.2 en B3 et dans une cellule =B3-B2-0.1
Ce n'est pas égal à 0 mais à -1.38778E-16

Excel, comme tous les micros, stocke en binaire les nombres. Un nombre pile pour toi comme 1.1 en décimal n'est peut-être pas pile en binaire. Comme 1/3=0.33333333333....... en décimal.
Et comme le nombre de bits de stockage n'est pas infini (15, 5 bits pour excel) tu as des erreurs de perte de précision.
Solution : =Arrondi(ta_formule;12)
eric
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…