Compter nombre de cellule d'une couleur avec un texte spécifique

Bonjour à toutes et à tous,

Je viens vers vous à nouveau avec un problème un peu plus simple que d'habitude mais que je n'arrive quand même pas à résoudre.

J'ai une formule qui me sert à compter le nombre de case colorée d'une certaine couleur :

Function NbColor(ByRef Plage As Range, Couleur As Byte) As Long
    Dim c As Range
    Dim nb As Long
    nb = 0
    For Each c In Plage
        If c.Interior.ColorIndex = Couleur Then
            nb = nb + 1
        End If
    Next c
    NbColor = nb
End Function

Function NBCouleur(ByRef Plage As Range, ByRef Cellule As Range) As Long
    NBCouleur = NbColor(Plage, Cellule.Interior.ColorIndex)
End Function

J'aimerais l'adapter pour pouvoir compter le nombre de cellule d'une certaine couleur et contenant un certain texte (par exemple compter toutes les cases vertes contenant "oui".

Pourriez-vous m'aider svp.

Merci d'avance

Cordialement,

Pilou.

Bonjour Pilou555,

Je pense que simplement en ajoutant une condition comme suit, cela devrait convenir :

If c.Interior.ColorIndex = Couleur And c.Value = "oui" Then
            nb = nb + 1
End If

Bonjour

Une proposition ?

Function NbColor(Plage As Range, Couleur As Byte, Texte As String) As Double
Dim c As Range
Dim nb As Double
    nb = 0
    For Each c In Plage
        If c.Interior.ColorIndex = Couleur And c.Value = Texte Then
            nb = nb + 1
        End If
    Next c
    NbColor = nb
End Function

Function NBCouleur(Plage As Range, Cellule As Range, Texte As String) As Long
    If Cellule.Value = Texte Then NBCouleur = NbColor(Plage, Cellule.Interior.ColorIndex)
End Function

Merci pour votre rapidité, ça marche parfaitement.

Effectivement c'était pas trop compliqué, j'étais partis chercher trop loin.

Rechercher des sujets similaires à "compter nombre couleur texte specifique"