Précision à 24 décimales en VBA ?

Softmama

XLDnaute Accro
Bonjour à tous,

De retour de vacances, je me trouve confronté à un problème apparemment idiot, mais sur lequel je bute et auquel je ne trouve pas actuellement de solution. J'espère que quelqu'un saura me dépanner ou aura une piste à me proposer :

J'ai simplement besoin de multiplier 12 nombres entiers entre eux et d'obtenir le résultat exact (qui avoisine les 1E24). Cette macro simple pour illustrer mon problème tronque au bout de 15 décimales le résultat qui termine par 8 zéros :( :

VB:
Sub test()
dim a as Double
a = 47# * 53# * 59# * 61# * 67# * 71# * 73# * 79# * 83# * 89# * 97# * 101#
msgbox format(a, "00000000000000000000000")
end sub

Comment puis-je contourner ce problème et obtenir une précision de 24 décimales ?
 

JCGL

XLDnaute Barbatruc
Re : Précision à 24 décimales en VBA ?

Bonjour à tous,
Salut SoftMama,

Voir dans ce fichier de Ti :) si tu peux trouver ton bonheur.

A++
A + à tous
 

Pièces jointes

  • Grand Nombre Ti.xls
    89 KB · Affichages: 136
  • Grand Nombre Ti.xls
    89 KB · Affichages: 133

Victor21

XLDnaute Barbatruc
Re : Précision à 24 décimales en VBA ?

Bonjour, Softmama.:)

Comment le produit de 12 nombres entiers peut-il renvoyer un nombre décimal avec la partie décimale non nulle ?

Edit : Bonjour, Bruno, Re Jean-Claude:)
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Précision à 24 décimales en VBA ?

Bonjour Softmama,
Salut JC ;)

Sinon 15 chiffres est la précision maximum qu'Excel peut afficher
À propos des calculs dans les classeurs - Excel - Office.com

A+
 

Softmama

XLDnaute Accro
Re : Précision à 24 décimales en VBA ?

Bonjour,

Merci à vous trois pour ces réponses rapides.
JCGL : Il me semble bien en effet que le fichier du grand Ti devrait avec un léger arrangement répondre à mon besoin. Je regarderai ceci après la balade de mes toutous qui réclament et vous tient au courant.

Merci encore :)
 

Softmama

XLDnaute Accro
Re : Précision à 24 décimales en VBA ?

Re,

J'ai pu adapter le programme de Ti que JCGL m'a fourni, pour mes besoins, mais j'ai environ 200000 multiplications et autant de divisions à réaliser. Même en virant tout ce qui gère les nombres décimaux et les nombres négatifs dans sa macro (je ne multipliais que des nombres entiers premiers), le temps qu'elle prend m'a incité à chercher une autre solution. J'ai recodé le bout de programme qui utilisait ces opérations complètement autrement : en utilisant des fonctions de texte plutôt que des calculs mathématiques et mon problème est désormais résolu (moins d'une seconde de calcul désormais). Par contre, je garde au chaud ce fichier : c'est du lourd.

Merci donc.
Et oui, je me suis mal exprimé, je voulais parler de 24 chiffres significatifs et non de décimales :)
 

Statistiques des forums

Discussions
312 361
Messages
2 087 609
Membres
103 606
dernier inscrit
lolo1970