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. o_O

Bug ou juste un truc qui m'échappe ?

Merci
 

Pièces jointes

  • Test1.xlsx
    10.7 KB · Affichages: 30

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
 

Statistiques des forums

Discussions
311 724
Messages
2 081 938
Membres
101 844
dernier inscrit
pktla