Grosse erreur de calcul [Microsoft Excel] - Logiciels - Windows & Software
Marsh Posté le 26-04-2004 à 11:39:40
Ah oué en effet
Ca me le fait aussi ici
edit: Excel 2000/Windows 2000/Duron 700
Même
=0.1-(21-20.9) |
n'est pas égal à 0
Marsh Posté le 26-04-2004 à 11:44:19
si tu limite le nombre de décimales le problème est caché ...
as-tu besoin du 15ème chiffres après la virgule où apparait le bug ?
Marsh Posté le 26-04-2004 à 11:46:08
ou sinon tu peux aussi développer ta formule et faire 0.1 -B1 + A1
sans les parenthèses ...
Marsh Posté le 26-04-2004 à 11:49:03
filou66 a écrit : si tu limite le nombre de décimales le problème est caché ... |
ça affiche peut etre 0, mais ce n'est pas 0
edit: sans les parenthèses, ca donne bien 0
Marsh Posté le 26-04-2004 à 12:01:01
Thanatos a écrit : Salut, |
ouep ... impresionnant !!
même Pb chez moi, Win2k sp3, excel 2k ...
c'est les parenthéses qui foutent la merde apparemment !
en foutant la formule dans tous les sens sans parenthéses, il m'affiche bien "0" ... par contre dès qu'il y a dses parenthèses, il n'affiche plus "0" mais un chiffre proche de "0" à 10exp-15 près
Marsh Posté le 26-04-2004 à 12:26:18
filou66 a écrit : si tu limite le nombre de décimales le problème est caché ... |
Non, j'ai fini par masquer ça à coup de fonction arrondi, justement, en limitant à 4 décimales, puisque l'erreur ne se fait qu'à la quinzième...
Sinon pour les parenthèses, dans mon cas, pas moyen de les enlever sans complexifier la formule dans une mesure que j'aimerais éviter (priorités des opérations mathématiques plus divers tests effectués... Faudrait que je développe à mort pour éviter les factorisations, quoi).
Il n'en reste pas moins que c'est un vrai bug et que personne chez Crosoft ne semble s'en soucier, vu qu'il existe depuis 3 générations d'Excel (et peut-être plus, mais je n'ai plus d'Excel plus ancien sous la main pour tester).
Ca m'sidère un tantinet...
Merci à tous pour vos réponses,
@+
Fab'
Marsh Posté le 26-04-2004 à 12:34:56
Thanatos a écrit : |
Sont p'tet pas au courant, fait un bug report.
Marsh Posté le 26-04-2004 à 12:52:39
ReplyMarsh Posté le 26-04-2004 à 13:05:06
La solution est simple ! Utilisez OOo : Open Office, suite bureautique TRES puissante et complète, qui fera tout ce que Excel vous fait, et de très belle manière. http://www.openoffice.org/
Marsh Posté le 26-04-2004 à 13:25:54
c'est un problème « connu »
un de mes profs nous a dit que les ordinateurs n'aimaient pas les soustractions de nombres proches, j'ai toujours pris ça comme un dogme
pour des explications, je trouve pas grande chose avec Google, si quelqu'un est + éclairé ...
Marsh Posté le 26-04-2004 à 13:31:30
Matthieu_phpmv a écrit : La solution est simple ! Utilisez OOo : Open Office, suite bureautique TRES puissante et complète, qui fera tout ce que Excel vous fait, et de très belle manière. http://www.openoffice.org/ |
En entreprise, c'est pas forcément l'utilisateur qui choisit quel logiciel utiliser
Marsh Posté le 26-04-2004 à 13:32:46
Trop fort Excel, décidémment je suis content de ne pas (plus) l'utiliser ...
Marsh Posté le 26-04-2004 à 13:35:56
on peut forcer l'affichage des nombres dans le format de la cellule mais c'est cacher la merde au chat comme on dit, dès qu'on refait un calcul vers une cellule standard ça affiche des conneries marrant quand même
Marsh Posté le 26-04-2004 à 13:36:27
[Albator] a écrit : Trop fort Excel, décidémment je suis content de ne pas (plus) l'utiliser ... |
j'ai la même chose avec OOo en forçant le format des cellules au mode scientifique
je pense pas que le problème incombe à Excel
Marsh Posté le 26-04-2004 à 13:38:18
DDT a écrit : j'ai la même chose avec OOo en forçant le format des cellules au mode scientifique |
Le bug du pentium is back ?
Je testerai à l'occasion avec OOO sous Linux (ça va troller chérie)
Marsh Posté le 26-04-2004 à 13:41:00
ReplyMarsh Posté le 26-04-2004 à 13:49:18
DDT a écrit : j'ai la même chose avec OOo en forçant le format des cellules au mode scientifique |
+1
Chelou cette histoire, et ca ne le fait que si le résultat est egal a 0
Marsh Posté le 26-04-2004 à 13:56:49
Thanatos a écrit : (...) |
Pour info, même problème sous Excel 97 SR-2 avec P3 et NT4 SP6
Marsh Posté le 26-04-2004 à 14:12:10
C'est un problème lié à nos chers processeurs qui calculent faux
Pour représenter un nombre à virgule tu disposes d'un nombre limité de bits.
En général la représentation du nombre réel est décomposée en un bit de signe, plusieurs bits d'exposant et la mantisse...
Lorsque tu fais des calculs en virgules flottantes le processeur arrondi le résultat à chaque étape, plus tu ré-utilises le résultat d'un précédent calcul plus tu as de chance d'avoir des erreurs sur le résultat final.
Augmenter le nombre de bits permet à un processeur d'être plus précis sur les calculs de nombres réels.
Pour Excel (ou autre) le truc consiste à effectuer un arrondi sur l'affichage en n'utilisant pas les dernières décimales.
Marsh Posté le 26-04-2004 à 14:13:33
Le problème se produit avec tous les logiciels....qui calculent avec des réels doubles, comme excel.
Je n'ai plus excel (OOo inside), mais essayez de formater vos cellules en nombre à 2 chiffres après la virgule pour voir ?
Je ne sais pas si ça marche hein, mais en tout cas, ce problème était déjà présent en .... 1990, lorsque je travaillais en basica (ça me rajeunit pas ), Quick Basic, Basic PDS etc etc. Bonjour les formules d'arrondi, parce qu'en compta, les milliardièmes de centimes étaient mal vus
Peit EDIT pour requin : ça ne se produit pas avec les entiers longs, pas avec les réels simple; Le problème n'est présent qu'avec les réels doubles.
Marsh Posté le 26-04-2004 à 11:35:53
Salut,
J'aimerais savoir d'autres que moi ont remarqué ce truc qui moi me troue proprement :
Ouvrez Excel.
Dans la colonne A, insérez les valeurs 1.9, 2.9, 3.9, etc, mettons jusqu'à 20.9 (utilisez la recopie incrémentée...)
Dans la colonne B, insérez les valeurs 2, 3, 4, 5 etc jusqu'à 21.
(2 en face de 1.9, 3 en face de 2.9, etc. donc)
Dans la colonne C insérez la formule =0.1-(B1-A1).
Recopiez la formule jusqu'en bas.
A partir de la ligne 5, le résultat n'est plus égal à zéro.. o_O
J'ai vérifié ce bug sur Excel 2000, 2002, 2003 tous services packs installés, sur des machines équipées en Celeron (génération P3 et P4) et sous Windows XP SP1, toutes updates installées.
Quelqu'un sait d'où ça vient...? Si ça peut être corrigé...?
Ca me pose un foutu problème au boulot, où ça m'empêche de faire certains tests dans des tableaux importants..
D'avance merci,
Bonne journée à tous !
Fab'
Message édité par Thanatos le 26-04-2004 à 11:36:48