Function SommeCoul(Arg1 As String) As Single
Application.Volatile
Dim cellule As Range
For Each cellule In ActiveSheet.Range( _
Cells(20, Application.ThisCell.Column), _
Cells(Cells(65535, Application.ThisCell.Column).End(xlUp).Row, Application.ThisCell.Column))
If cellule.Interior.ColorIndex = ActiveSheet.Range(Arg1).Interior.ColorIndex And IsNumeric(cellule.Value) Then
total = Round(total + cellule.Value, 2)
End If
Next
SommeCoul = total
End Function