Re,
Concrètement :
1) vous enregistrez votre fichier sous le format ".xlsm"
2) vous allez dans l'éditeur VBA (ALT+F11) et dans le fichier vous insérer un module
Et vous y collez le code que je vous avais donné précédemment
Function SommeSiSpé(RngDate As Range, RngMt As Range, CritCoul As Range, CritDate As Range)
Dim Cel As Range, Total As Double, FinMois As Date
Application.Volatile ' Exécuter la fonction à tout moment
FinMois = Application.WorksheetFunction.EoMonth(CritDate, 0)
If RngDate.Rows.Count <> RngMt.Rows.Count Then
MsgBox "La plage de date doit être égale à celle des montants", vbCritical, "OUPS..."
Exit Function
End If
' Faire le total
Total = 0
' Pour chaque cellule de la plage de date
For Each Cel In RngDate
' Vérifier si la date est ok
If Cel >= CritDate And Cel <= FinMois Then
' Vérifier si la couleur du montant est ok
If RngMt.Cells(Cel.Row - 1, 1).Interior.Color = CritCoul.Interior.Color Then
' Faire le total
Total = Total + RngMt.Cells(Cel.Row - 1, 1)
End If
End If
Next Cel
' Retourner la valeur
SommeSiSpé = Total
End Function
Ensuite seulement vous pourrez utiliser la formule
Est-ce plus clair
A+