' fonction xl permettant de sommer et compter des cellules par leur couleur de fond
' Avec décalage de la plage de 5 colonnes en 5 colonnes
' -----------------------------------------------------------------------------------
Function SumByColor(InputRange As Range, ColorRange As Range) As Double
Application.Volatile True
Dim cl As Range, TempSum As Double, ColorIndex As Integer
ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next ' ignore cells without values
For i = 0 To 51
If i = 0 Then
j = 0
Else
j = i * 5 - 1
End If
For Each cl In InputRange.Offset(0, j).Cells
If cl.Interior.ColorIndex = ColorIndex Then TempSum = TempSum + cl.Value
Next cl
Next i
On Error GoTo 0
Set cl = Nothing
SumByColor = TempSum
End Function