Faire une somme mathématique sigma avec variable en vba. - VB/VBA/VBS - Programmation
Marsh Posté le 22-04-2013 à 07:57:52
Salut,
vite fait sur le gaz :
|
Soit :
print var1() |
Si tu veux faire varier le nombre de boucles (ici ça calcule 361 boucles -avec le 0-) tu peux modifier la fonction comme ça :
|
Dans ce cas, ça fait :
print var1(500) |
pour 501 boucles...
Marsh Posté le 22-04-2013 à 21:36:06
J'ai cette erreur maintenant : Incompatibilité de type.
Je ne comprends pas pouvez-vous m'aider svp
voici mon code
Function var1() As Double <= zone surligné par excel
Dim i As Integer
Dim somme() As Double
For i = 0 To 360
somme = somme + (100000 / 30 / 12) / (1.01) ^ i
Next
cell(A1, 1) = somme
End Function
Marsh Posté le 23-04-2013 à 07:59:49
uskiparis a écrit : J'ai cette erreur maintenant : Incompatibilité de type. |
Tu déclares une variable somme() comme étant un tableau de type double...
Supprime les parenthèses...
Dim somme As Double |
PS : quand tu mets du code, c'est plus facile à lire quand il est entre la balises Fixe ou C/c++ que lorsqu'il est entre des balises italique
Marsh Posté le 23-04-2013 à 08:03:43
Et puis, si tu ne récupères pas la valeur de var1 pour un autre calcul, mais si c'est simplement pour écrire une valeur dans une cellule, autant utiliser une procédure normale plutôt qu'une fonction :
Sub var1() |
et n'oublies pas de mettre un S à Cells et supprimer le "A" dans l'adresse de la cellule
cell(A1, 1) = somme
Cells(1, 1) = somme
Marsh Posté le 22-04-2013 à 05:12:47
Bonjour,
j'aimerais juste réaliser la somme pour i = 0 à 360
somme= 100000 / 30 / 12) / (1.01)^i
function var1(i as integer) = (100000 / 30 / 12) / (1.01)^i as double
end
j'ai posé cette fonction pour la somme
Mais après je ne sais pas quoi mettre à partir de sub()
J'avais pensé à un truc qui pourrait ressembler à :
Sub()
For i=0 to 360
var1=var1+var(i+1)
Mais je suis pas sûre du tout et ça ne marche pas.
Je sais que c'est une question niveau débutant mais je n'ai pas trouvé sur internet de réponse à mon probleme.
Merci
Message édité par uskiparis le 22-04-2013 à 05:21:08