Function Couleur(Plage As Range, RéfCouleur As Range) As Long
Application.Volatile
Couleur = 0
Dim Cellule As Range
For Each Cellule In Plage
If Cellule.Interior.Color = RéfCouleur.Interior.Color Then Couleur = Couleur + 1
Next
End Function
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim s As Double 'décalre la variable s (Somme)
For Each cel In Rows(1).Cells 'boucle sur toutes les cellule de la ligne 1 (tu adapteras à ton cas)
'si le motif de la cellule est rouge définit la somme
If cel.Interior.ColorIndex = 3 Then s = s + CDbl(cel.Value)
Next cel 'prochaine cellule de la ligne
MsgBox s 'message affichant la somme
End Sub
[COLOR="DarkSlateGray"][B]Function SRouge(ParamArray r())
Dim z&, oCel As Range
Application.Volatile
For z = LBound(r) To UBound(r)
For Each oCel In r(z).Cells
If oCel.Interior.Color = vbRed Then
If IsNumeric(oCel.Value) And Not IsEmpty(oCel) Then SRouge = SRouge + oCel.Value
End If
Next oCel
Next z
If IsEmpty(SRouge) Then SRouge = ""
End Function[/B][/COLOR]