XL 2016 Ecart de 0,00000000000001

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Stéphan Alex

XLDnaute Nouveau
Bonjour à tous,

J'ai recherché une question similaire sans trouver la réponse. Si jamais, merci par avance de bien vouloir me rediriger.

Voilà, des responsables de colo doivent saisir leur comptabilité dans un fichier Excel. Chaque dépense (par exemple 106,70€) doit être ventilée sur 1 ou plusieurs postes. Pour être certain que ce montant a bien été justifié complètement, je fais un test tout bête : SI(-(+AD43-H43-K43)=0;"OK";"Ecart !").
Ce qui se passe : le responsable a dépense donc 106,70 qu'il subdivise en deux 96,91€ pour la catégorie Goûter et 9,79€ pour la catégorie Matériel. Or quand je fais le test, la fonction me renvoie une erreur ! Or, 9,79 + 96,91 font bien 106,70...
Après plusieurs tests, si au lieu de 9,79, je saisie 9,790000000001 alors Excel ne trouve plus d'écart...

Vous voudrez bien trouver le fichier en pièce jointe... D'où cela vient-il selon vous ?

Merci par avance,
Bien cordialement,
Stéphan.
 

Pièces jointes

Solution
Bonjour Stéphan,

J'ai simplifié tes 2 formules :

En E2 : =SI(D2-A2=0;"OK";"Ecart!")
En E3 : =SI(D3-A3=0;"OK";"Ecart!")

Mais ce n'est pas ça qui a réglé le problème ; ce qui a réglé le problème c'est ceci :

Menu Fichier (bouton Office), Options Excel, Options avancées, fais défiler tout en bas ;
regarde la rubrique « Lors du calcul de ce classeur » ; coche la case :

Définir le calcul avec la précision au format affiché

En fait ce genre de problème est dû à ce que les nombres décimaux (base 10)
sont « traduits » et stockés en binaire (base 2) ; la précision numérique n'est
pas infinie, même sur le plus performant des PC.

Si c'est OK, merci de cliquer en bas de ce...
Bonjour Stéphan,

J'ai simplifié tes 2 formules :

En E2 : =SI(D2-A2=0;"OK";"Ecart!")
En E3 : =SI(D3-A3=0;"OK";"Ecart!")

Mais ce n'est pas ça qui a réglé le problème ; ce qui a réglé le problème c'est ceci :

Menu Fichier (bouton Office), Options Excel, Options avancées, fais défiler tout en bas ;
regarde la rubrique « Lors du calcul de ce classeur » ; coche la case :

Définir le calcul avec la précision au format affiché

En fait ce genre de problème est dû à ce que les nombres décimaux (base 10)
sont « traduits » et stockés en binaire (base 2) ; la précision numérique n'est
pas infinie, même sur le plus performant des PC.

Si c'est OK, merci de cliquer en bas de ce post sur « Marquer comme solution ». 😉

soan
 

Pièces jointes

Bonjour à tous,

Ce n'est pas un test tout bête, un tout bête, c'est :
SI(AD43=H43+K43;"OK";"Ecart !"). ou SI(AD43=somme(H43;K43);"OK";"Ecart !")
T'as l'esprit compliqué, ou de comptable, ce qui revient au même !!
Avec tout les signes, Excel s’emmêle les pinceaux. Et ce serait pire si tu travaillais sur des heures ! Je ne vais pas rentrer dans des détails (que je ne connais pas), mais c'est du a la précision des variables qui intervient dans des opérations.
dans ma formule bête, il y a 2 opérations, dans la tienne, 5 opérations, donc plus de risque d'erreur quant a la précision

Crdlmt
 
Je conseille en E2 :
Code:
=SI(ABS(A2-D2)<0,00001;"OK";"Ecart!")
1599060017215.png
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour