Sub sommeCouleurs()
Application.Volatile
Dim sommeCouleurs As Double
sommeCouleurs = 0
Dim Couleur As Range
Dim chaqueCellule As Range
Dim Plg(0 To 1) As Range
Set Plg(0) = Range(Cells(1, 3), Cells(5, 3)) ' ......... Plage de Couleur de C1:C5
Set Plg(1) = Range(Cells(1, 1), Cells(10, 1)) ' ........ Faire la somme en fonctions des Couleurs de A1:A10
Plg(0).ClearContents ' ................................. Efface le résultat Précédemment stocké C1:C5
For Each Couleur In Plg(0) ' ........................... Plg(0) Plage de Couleur de C1:C5
For Each chaqueCellule In Plg(1) ' ..................Plg(1) Plage des Valeurs en fonction des Couleurs de C1:C5
If (chaqueCellule.Interior.ColorIndex = Couleur.Interior.ColorIndex) Then ' Condition
sommeCouleurs = sommeCouleurs + chaqueCellule.Value ' Somme en Fonction des couleurs
End If
Next chaqueCellule
Couleur.Value2 = sommeCouleurs: sommeCouleurs = 0 ' Stock le Résultat, et Remise a Zéro de la variable sommeCouleurs
Next Couleur
sommeCouleurs = Empty: Set Couleur = Nothing: Set chaqueCellule = Nothing: Erase Plg
End Sub