Bonjour,
Je désirais créer une fonction de calcul entre deux dates et en complexifiant la fonction déja existante créer en intégrant la somme entre deux dates.
SOMMEPROD((GAUCHE((INDIRECT($A$1&"!$b$2:$b$1000"));NBCAR(B3))=GAUCHE(B3;11))*((INDIRECT($A$1&"!$c$2:$c$1000")*(((INDIRECT($A$1&"!$a$2:$a$1000")>=C1)*(((INDIRECT($A$1&"!$a$2:$a$1000")<=D1))))))))
Function Result(NomFeuille As String, ColonneCode As Integer, ColonneValeur As Integer, Critere As String) As Double
Dim Fe As Worksheet
Dim PlgCode As Range
Dim PlgValeur As Range
Dim I As Long
Dim Debut As Long
Dim Fin As Long
Dim Total As Double
Set Fe = ThisWorkbook.Sheets(NomFeuille)
Debut = Fe.Cells(1, ColonneCode).End(xlDown).Row
Fin = Fe.Cells(Rows.Count, ColonneCode).End(xlUp).Row
With Fe: Set PlgCode = .Range(.Cells(Debut, ColonneCode), .Cells(Fin, ColonneCode)): End With
Debut = Fe.Cells(1, ColonneValeur).End(xlDown).Row
Fin = Fe.Cells(Rows.Count, ColonneValeur).End(xlUp).Row
With Fe: Set PlgValeur = .Range(.Cells(Debut, ColonneValeur), .Cells(Fin, ColonneValeur)): End With
For I = 1 To PlgCode.Count
If Left(PlgCode(I).Value, Len(Critere)) = Critere Then Total = Total + PlgValeur(I).Value
Next I
Result = Total
End Function