Insertion formule dans variable d'une fonction
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:
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.