Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1599 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Microsoft Excel] Grosse erreur de calcul

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Microsoft Excel] Grosse erreur de calcul

n°1542417
Thanatos
Posté le 26-04-2004 à 11:35:53  profilanswer
 

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
mood
Publicité
Posté le 26-04-2004 à 11:35:53  profilanswer
 

n°1542422
freds45
Modérateur
Posté le 26-04-2004 à 11:39:40  profilanswer
 

Ah oué [:wam] 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 :pt1cable:


Message édité par freds45 le 26-04-2004 à 11:40:04

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°1542429
filou66
prend mes poils ...
Posté le 26-04-2004 à 11:44:19  profilanswer
 

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 ?

n°1542431
filou66
prend mes poils ...
Posté le 26-04-2004 à 11:46:08  profilanswer
 

ou sinon tu peux aussi développer ta formule et faire 0.1 -B1 + A1
sans les parenthèses ...


Message édité par filou66 le 26-04-2004 à 11:46:52
n°1542433
freds45
Modérateur
Posté le 26-04-2004 à 11:49:03  profilanswer
 

filou66 a écrit :

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 ?


 
ça affiche peut etre 0, mais ce n'est pas 0 [:aloy]
 
edit: sans les parenthèses, ca donne bien 0 :)


Message édité par freds45 le 26-04-2004 à 11:50:50

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°1542451
mrpochpoch
Posté le 26-04-2004 à 12:01:01  profilanswer
 

Thanatos a écrit :

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'


 
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  :ouch:


---------------
A méditer : Qui s'endort avec le cul qui gratte, se réveille avec le doigt qui pue ...
n°1542514
Thanatos
Posté le 26-04-2004 à 12:26:18  profilanswer
 

filou66 a écrit :

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 ?


 
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'

n°1542532
El Pollo D​iablo
REACHED THE END OF CAKE
Posté le 26-04-2004 à 12:34:56  profilanswer
 

Thanatos a écrit :


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


 
Sont p'tet pas au courant, fait un bug report.

n°1542558
Thanatos
Posté le 26-04-2004 à 12:52:39  profilanswer
 

El Pollo Diablo a écrit :

Sont p'tet pas au courant, fait un bug report.


 
Oui oui, c'est fait... :)

n°1542572
matthieu_p​hpmv
Posté le 26-04-2004 à 13:05:06  profilanswer
 

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/

mood
Publicité
Posté le 26-04-2004 à 13:05:06  profilanswer
 

n°1542600
DDT
in trollo veritas
Posté le 26-04-2004 à 13:25:54  profilanswer
 

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 :D
 
pour des explications, je trouve pas grande chose avec Google, si quelqu'un est + éclairé ...
 

n°1542607
freds45
Modérateur
Posté le 26-04-2004 à 13:31:30  profilanswer
 

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 :hello:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°1542609
[Albator]
MDK un jour, MDK toujours !
Posté le 26-04-2004 à 13:32:46  profilanswer
 

Trop fort Excel, décidémment je suis content de ne pas (plus) l'utiliser ...

n°1542616
darxmurf
meow
Posté le 26-04-2004 à 13:35:56  profilanswer
 

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 :D

n°1542617
DDT
in trollo veritas
Posté le 26-04-2004 à 13:36:27  profilanswer
 

[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


Message édité par DDT le 26-04-2004 à 13:36:54
n°1542621
[Albator]
MDK un jour, MDK toujours !
Posté le 26-04-2004 à 13:38:18  profilanswer
 

DDT a écrit :

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


 
Le bug du pentium is back ? :'(
Je testerai à l'occasion avec OOO sous Linux (ça va troller chérie)

n°1542624
DDT
in trollo veritas
Posté le 26-04-2004 à 13:39:44  profilanswer
 

quand je parlais d'OOo, c'était sous Linux :)

n°1542626
[Albator]
MDK un jour, MDK toujours !
Posté le 26-04-2004 à 13:41:00  profilanswer
 

DDT a écrit :

quand je parlais d'OOo, c'était sous Linux :)


 
T'arrête de ruiner mes trolls oui ?  :fou:

n°1542648
El Pollo D​iablo
REACHED THE END OF CAKE
Posté le 26-04-2004 à 13:49:18  profilanswer
 

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  :heink:

n°1542660
bikerman
Posté le 26-04-2004 à 13:56:49  profilanswer
 

Thanatos a écrit :

(...)
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).
(...)


Pour info, même problème sous Excel 97 SR-2 avec P3 et NT4 SP6

n°1542682
Requin
Posté le 26-04-2004 à 14:12:10  profilanswer
 

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.

n°1542689
pupoul
Je te vois
Posté le 26-04-2004 à 14:13:33  profilanswer
 

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 :o
 
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.


Message édité par pupoul le 26-04-2004 à 14:15:07
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [Microsoft Excel] Grosse erreur de calcul

 

Sujets relatifs
Microsoft Installeur (gros problême)Erreur 721 - Processus dépressif actif dans 5, 4, 3, 2, 1...
Message d'erreur suspect... kezako ?erreur 624
message d erreur au demarrageerreur 1607 ?????
impossible de cocher "client pour les reseaux microsoft"Password de protection de feuille Excel oublié ...
erreur Xp à l'install de soft[help] graphiques auto sous excel
Plus de sujets relatifs à : [Microsoft Excel] Grosse erreur de calcul


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR