Formule pour sommer des cellules de couleurs

Bonjour à tous,

Je bloque sur une formule Excel. j’ai un fichier Excel avec 3 pages. Sur la feuille 1 et feuille 2 il y a un tableau avec des cellules colorées.
Sur la feuille 3 c’est un recap des 2 autres tableaux et c’est dans ce tableau que j’aimerai qu’Excel me donne la somme de toutes les cellules de la même couleur.
J’ai essayé de faire la formule "[somme.si] comme expliqué dans la vidéo de Docteur Excel mais il ne me trouve pas le bon résultat ou il me dit trop de caractère. Quelqu’un aurait une solution pour moi? J’ai essayé plein de choses mais je bloque vraiment.

Merci d’avance à tous

Bonjour,

Un exemple de fichier sera plus parlant que toutes les explications.
Cordialement.

Voici les copies d’écran

Feuille 1 (tableau d’un groupe)

Feuille 2 (tableau du 2ème groupe)

Feuille 3 (le tableau récapitulatif)

Et c’est donc dans la colonne C que j’aimerai mettre la formule.

Bonjour @onyx, @Zebulon,

@Zebulon parle pourtant bien le Français.
Tes images sont très belles, elles méritent d’être traitées avec photoshop n’est-ce pas! :stuck_out_tongue_winking_eye:

Ici c’est un forum Excel, donc sans fichier au format Excel impossible te t’apporter une réponse correcte.

Cordialement.

J’étais avec mon telephone au moment de la réponse pouvais pas faire mieux, j’ai fait une capture d’écran pour essayer de vous donner une idée de mon tableau et donc mieux comprendre mon explication car pas simple d’expliquer comme ça .
Voici le fichier

repas.xlsx (22,3 Ko)

Cordialement

Re @onyx,

Ok, mais nous ne pouvions pas réellement faire quelque chose sans le fichier sauf à le reproduire.

Voici une proposition dans le fichier joint:

La macro est dans le Module1 du fichier enregistré au format .xlsm

Function NBCOULEURS(plage As Range, cc As Range) As Integer
    Dim clr(), n%, i%, c As Range
    Application.Volatile
    ReDim clr(cc.Cells.Count - 1): i = -1
    For Each c In cc.Cells
        i = i + 1: clr(i) = c.Interior.Color
    Next c
    For Each c In plage
        For i = 0 To UBound(clr)
            If c.Interior.Color = clr(i) Then
                n = n + 1: Exit For
            End If
        Next i
    Next c
    NBCOULEURS = n
End Function

repas onyx.xlsm (29,2 Ko)

Cordialement.

Merci pour ta réponse mdo100. Mais j’ai l’impression que ça me calcule le nombre de cellules de couleur et pas la somme du contenu des cellules. Tu aurais une façon de faire? Cordialement

Bonjour,
Dans la macro de MDO que je salue
il faut remplacer n=n+1
par
n=n+c.value