Calcul de puissance de n Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
j
jeje29100
Jeune membre
Jeune membre
Messages : 21
Inscrit le : 23 août 2013
Version d'Excel : Excel 2007

Message par jeje29100 » 7 mars 2014, 10:40

Bonjour,

Je viens à vous car je me pose une petite question. Pensez-vous que la fonction puissance ^ de VBA puisse fonctionner avec une certaine incertitude?
Je suis venu à me poser cette question car dans un programme que j'ai écrit, je fais 2 calculs dans une boucle :
Dim Ctot, Ctot2, Integrale As Double
For i=1 to max
Ctot=0
Ctot2=0
Integrale=fonction (i)
Ctot=Ctot+Integrale^n
Ctot2=Ctot2+Integrale
Next i
 If Ctot < Ctot2 Then
    MsgBox "tu peux tout recommencer"
    Else
    partie de code non utile pour le reste
End If
Et il se trouve que lorsque je fixe n=1 (cad que les calculs de Ctot et Ctot2 sont strictement les mêmes du point de vue mathématique), j'ai mon MsgBox "tu peux tout recommencer", quelqu'un aurait-il une explication?

En vous remerciant par avance

Bien à vous

Jérémy
E
EngueEngue
Membre impliqué
Membre impliqué
Messages : 1'493
Inscrit le : 12 décembre 2013
Version d'Excel : 2010

Message par EngueEngue » 7 mars 2014, 10:45

Ton problème vient des déclaration des variables, ressaie avec
Essaie de dimensionner ton n comme un entier...
Dim n as integer
Dim ctot as double
Dim ctot2 as double
Dim integrale as double
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'042
Appréciations reçues : 615
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 7 mars 2014, 10:46

Bonjour,
Un fichier peut-être?
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
j
jeje29100
Jeune membre
Jeune membre
Messages : 21
Inscrit le : 23 août 2013
Version d'Excel : Excel 2007

Message par jeje29100 » 7 mars 2014, 11:06

Visiblement Engue tu as raison, il s'agissait d'un mauvais dimensionnement, le n était en double. Cependant je ne comprends pas bien pourquoi. En effet si j'ai bien compris, lorsqu'on alloue un espace de type double, il sera de plus grande taille que pour un integer. N'est-ce pas la seule différence entre ces deux types de variables?
E
EngueEngue
Membre impliqué
Membre impliqué
Messages : 1'493
Inscrit le : 12 décembre 2013
Version d'Excel : 2010

Message par EngueEngue » 7 mars 2014, 11:07

Pas du tout le calcul de doubles est différent du calcul d'entiers, en effet la précision étant plus importante, il se peut que des virgules résiduelles existent

et x^1,0000000000000000000000000000000001 <> x
j
jeje29100
Jeune membre
Jeune membre
Messages : 21
Inscrit le : 23 août 2013
Version d'Excel : Excel 2007

Message par jeje29100 » 7 mars 2014, 11:22

D'accord je ne connaissais pas cette subtilité. A l'avenir, je tâcherai de m'en souvenir!
Néanmoins cela ne faussera pas grandement le calcul.
E
EngueEngue
Membre impliqué
Membre impliqué
Messages : 1'493
Inscrit le : 12 décembre 2013
Version d'Excel : 2010

Message par EngueEngue » 7 mars 2014, 11:32

Non, mais si tu utilises des égalités strictes, tâche de donner un intervalle de confiance
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message