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 :
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...
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
En tout cas merci par avance pour votre aide future.
Cdlt,
Gordon.
Partager