Mystère de précision de résultat pour la même macro sur deux ordis (xls2003)

agilles

XLDnaute Nouveau
Bonjour,

Ci-joint une macro qui me renvoie 3 chiffres significatifs sur un ordi (ce qui me semble cohérent avec le code) et plus sur un autre ordi et la je me demande bien pourquoi...
Si quelqu'un a une idée je suis preneur...Est ce qu'un paramétrage spécial d'excel peut avoir cet effet sur le résultat?

Merci d'avance

Agilles
 

Pièces jointes

  • Classeurtest.xls
    27 KB · Affichages: 50
  • Classeurtest.xls
    27 KB · Affichages: 50
  • Classeurtest.xls
    27 KB · Affichages: 54

julberto

XLDnaute Occasionnel
Re : Mystère de précision de résultat pour la même macro sur deux ordis (xls2003)

Bonjour agilles,

Je ne partage pas ta façon de coder en vba. Mais là n'est pas le problème.

1- Ta macro ne sait pas calculer la (les) racine(s) de X^4=16. On pouvait s'attendre à trouver 2.
Pourquoi ? Elle calcule la racine carré d'un nombre négatif ici sur cette ligne
Code:
R = (t - AA) ^ 0.5

2- Tu manipules des nombres très très grands ==> dans ce cas il faut faire très attention à son code pour limiter les troncatures lors des évaluations (+ ou -).
Par exemple (1+1.e20) n'est pas égal à 1.e20 (évidence!!)
Eh bien teste avec Excel et tu verras que "=(1+1.e20)=1.e20" fournit "VRAI"

Après les corrections qui s'imposent, les choses devraient être plus claires.
cordialement
 
Dernière édition:

agilles

XLDnaute Nouveau
Re : Mystère de précision de résultat pour la même macro sur deux ordis (xls2003)

Bonjour,

Je ne pense pas que le problème viennent de là, mais on peut faire la modification suivante pour prendre en compte le cas cité :

code VBA à mettre juste en dessous de la ligne : If A = 0 Then Equat4 = "Pas de degré 4": Exit Function
' Cas triviaux
If A = 0 Then Equat4 = "Pas de degré 4": Exit Function
If A = 1 And B = 0 And C = 0 And D = 0 And E = 0 Then Equat4 = "0": Exit Function
If A = 1 And B = 1 Then Equat4 = "0 et -1": Exit Function

J'ai remarqué que sur mon code VBA si je rajouté plus de 9 zéros (ex : 1000000000), un dièse # apparaît an dernière position, quelqu'un aurait-il une explication?

Merci
 

Misange

XLDnaute Barbatruc
Re : Mystère de précision de résultat pour la même macro sur deux ordis (xls2003)

Bonjour
Excel ne sait pas traiter les nombres de plus de 15 chiffres mais 10 il n'y a pas de problème. En revanche pour ce qui est de la précision des calculs, excel comme tous les logiciels est limité par sa façon de stocker les nombres. Voir les explications de Laurent Longre ici
Ce lien n'existe plus
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350