Bonjour,

Je cherche à réaliser une fonction VBA qui calcul la somme d'une ligne d'une plage jusqu'a une certaine Colonne.

Je pense que l'on peut le faire comme cela :
SOMME(DECALER(Plage;ligne;0;1;Colonne)

Mais j'aimerais une fonction VBA qui fasse la même chose en appelant
CUMUL(Plage,ligne,colonne)

J'ai essayé le programme suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Function Cumul(plage As Range, ligne As Integer, colonne As Integer) As Double
 
Cumul = Application.WorksheetFunction.Sum(plage.Offset(ligne - 1, 0).Range(Cells(1, 1), Cells(1, colonne)))
 
End Function
Mais ça ne marche que quant la plage fait référence à une plage de la feuille active et pas quand on a une référence sur une autre feuille (ex feuille2!plage ou [classeur.xls]feuille!plage).

Comment faire simplement une fonction qui marche avec une plage située sur une autre feuille et/ou classeur ?

Merci d'avance.