Petite énigme de précision !

T

Ti

Guest
Voici une petite énigme comme sait nous en réserver Excel, que m'a soumis récemment mon ami r.m.

si en A1, B1, C1, vous avez : 71,4 15 56,4

En A2 insérez cette formule : =A1-B1-C1, le résultat est bien 0

Maintenant, si en A3, vous écrivez =(A1-B1-C1) et que vous mettez le format de cellule en affichage scientifique, vous voyez que le résultat est 7,11E-15, ce qui est donc faux !

C'est bien le simple ajout des parenthèses qui produit ce résultat erroné, et je ne saurais pas dire pourquoi.

voici différents autres tests :

=(A1+(-B1-C1)) ou =A1+(-B1-C1) donnent des résultats justes.

=(A1-B1)-C1 est juste, mais =((A1-B1)-C1) est faux.

=A1-(B1+C1) ou =(A1-(B1+C1)) sont justes.

=SOMMEPROD(A1:C1) renvoie un résultat faux, avec les valeurs 71,4 -15 -56,6

Quoiqu'il en soit, ce sont des paramètres à prendre en compte, notamment si vous utilisez un test du genre =SI(A2=0;...) qui risquera de n'être jamais VRAI...
Pensez alors à arrondir ces résultats à quelques décimales, vous ne craindrez plus de mauvaises surprises.
 
B

B52

Guest
bonsoir Ti, le forum,

oui, Bizarre EXCEL... remarque juducieuse à ne pas oublier !!!
Merci pour l'info ! Cependant, je pense que c'est simplement le changement de format qui sur cette formule, un colle à envoyer à Bill !!!
@+

Stéphane
 
Z

Zon

Guest
Salut,

Même résultats en VBA avec du single ou du double .
Je comprends mieux que j'arrivais à "résoudre" des équations normalement insolubles par la méthode de Kramer=> il vaut mieux faire du Basic CASIO lol...

A+++
 
A

andré

Guest
Salut à vous tous (avec beaucoup de retard !),

Il me semble qu'un message traitait ce problème dernièrement.

Pour autant que je m'en souvienne, l'explication est la suivante :
Xl ne stocke pas les données telles qu'elles sont introduites (je ne sais plus comment, ... par l'intermédiaire d'une division ?).
Lorsqu'on demande de restituer une donnée stockée en mémoire, l'exactitude de la restitution est donc forcement appproimative.
De là la limite d'exactitude (MS) à 15 chiffres après le virgule.

Dans l'exemple, l'exactitude est de 14 chiffres, peut-être à cause de l'un ou l'autre arrondi ?

Il faudrait retrouver ce post pour avoir l'explication exacte et complète.
Si quelqu'un l'a archivé, un petit lien serait le bienvenu.

Ândré.
 
J

Jean-Marie

Guest
Bonjour tout le monde

André, tu veux parler de ce fil, http://www.excel-downloads.com/html/French/forum/messages/1_ 109499_ 109499.htm

Je pense que l'exactitude de calcul n'est pas en cause dans ce fil.

Si tu affiches le résultat de la formule =(A1-B1-C1) ou =A1-B1-C1 le résultat est égal à 0 .

J'ai aussi essayé autre chose =A1-B1 dans une cellule, dans une autre =X-C1
et après =(X-C1) dans le cas des () toujours le même problème

Le problème viendrait-il de la valeur 15 qui est entière, j'ai essayé
71,4 15,1 56,3 même soucis avec les parenthèses.
71,4 15,2 56,2 même soucis avec les parenthèses.

J'ai aussi regardé la forme des valeurs sous forme de fraction et sous forme scientifique, je n'ai pas vu de problème.

@+Jean-Marie
 

Discussions similaires

Réponses
1
Affichages
1 K