Bonjour,
Modification de ta amcro initiale : Ctrl+a pour lancer la procédure
Cdlt
Option Explicit
Public Sub sommecouleur()
'définition des variables
Dim derLig As Integer, derCol As Integer
Dim Plage As Range
Dim cell As Variant
Dim cellulecouleur, testcouleur As Long
Dim Compteur, cellule As Integer
'Dernière ligne et dernière colonne utilisées dans la feuille
derLig = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
derCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
'Définir la plage de recherche
Set Plage = Range(Cells(1, 1), Cells(derLig, derCol))
'la couleur de référence pour la somme est celle de L1
cellulecouleur = Range("L1").Interior.Color
'Mise à zéro du compteur pour la somme
Compteur = 0
For Each cell In Plage
'recherche de la couleur de la cellule sélectionnée
testcouleur = cell.Interior.Color
'Condition : comparaison avec la couleur de référence
'si couleur active = couleur de référence
If testcouleur = cellulecouleur Then
'on ajoute la valeur de la cellule au compteur puis on passe à la cellule
'suivante
Compteur = Compteur + cell.Value
'si couleur active <> couleur de référence
Else
'on n'ajoute rien au compteur puis on passe à la cellule
'suivante
Compteur = Compteur + 0
End If
Next cell
'la valeur du compteur est inscrite dans la cellule "X4"
Range("X4").Value = Compteur
End Sub