Bonsoir tout le monde,

Je sollicite votre aide car je peine à trouver une solution à mon problème. J'ai dans mes calculs besoin de faire des sommes répétitives. Pour donner un exemple au hasard, disons somme(2*i²) pour i variant de 1 à 50.
Pour le moment je me contente de faire des boucles for avant mon calcul dont j'implémente le résultat. Seulement je trouve que ce n'est pas une solution à long terme car cela me fait du code très gros avec pleins de variables à créer pour les boucles.

1) Je me demande donc si il y aurait une fonction somme dans VBA ? Bien évidement appropriée au calcul mathématiques et non pour sommer des cellules.
2) N'ayant pas trouvé de réponse à ma question 1 ci-dessus, j'ai commencé à coder un morceau mais je bloque sur le passage de l'expression mathématiques en guise de variable fonctionnelle. Ci-joint mon début de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function somme(expression As Double, min as Integer, max as Integer)
 
Dim total As Double
 
total = 0
For i = min To max
 
    total = total + expression
 
Next
 
somme = total
 
End Function
 
Sub test()
Dim i As Integer
 
MsgBox somme(2 * i^2, 1, 50)
 
End Sub
Je sollicite donc votre aide en gros pour savoir si la fonction Sum de VBA permet de faire ce que je souhaite et au cas échéant si quelqu’un pourrait bien m'aider à compléter mon bout de code. Je pense à une piste mais je n'arrive pas à la mettre en pratique : pourquoi ne pas passer l'expression en string puis la convertir en autre chose dans la fonction ? Mais pas sûr...


En tout cas merci par avance pour votre aide future.

Cdlt,
Gordon.