Filtre couleur

Bonjour,

J'aimerais pour compter le nombre cellules couleurs (vertes) quand j'applique un filtre.

Je sais qu'il existe la fonction sous.total; mais elle ne tiens pas compte de la couleur de la cellule.

J'inclus un fichier exemple avec un filtre.

Merci,

Oiseau bleu

13filtre-oiseau.xlsm (15.78 Ko)

Bonjour oiseaubleu,

Un essai...

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
  Application.Volatile
  Dim c, temp
  temp = 0
  cf = couleurfond.Interior.Color
  For Each c In champ
    If c.Interior.Color = cf Then
      temp = temp + 1
    End If
  Next c
  CompteCouleurFond2 = temp
End Function

en F2:

=CompteCouleurFond2(B5:D45;G2)

en G2 la couleur à totaliser

Cordialement,

Bonjour,

Je n'ai pas été assez précis dans ma demande.

En B12 (après le filtre je devrais avoir d'inscrit 0 et C12 serait égale à 1 et D12 serait égale à 2).

Par contre sans le filtre B12 = 1, C12=1 et D12 = 2

Donc je je connaître le nombre de couleur verte en fonction du filtre qui est appliquer comme si je rajoutais à la fonction sous.total de me dire le nombre de cellule verte après le filtre.

Merci,

Oiseau bleu

Re,

Désolé, trop compliqué pour moi,

Cordialement,

Bonjour,

toutes tes vertes sont égales à 10 (sauf une, erreur ?)

Si c'est bien le cas, compte les 10 avec nb.si. Même plus besoin de filtrer.

Sinon remplace :

'If Cellule.Interior.ColorIndex = Couleur And Not IsEmpty(Cellule) Then
'par
If Cellule.Interior.ColorIndex = Couleur And Not IsEmpty(Cellule) And Not Cellule.EntireRow.Hidden Then

eric

Bonjour,

C'est vrai que dans mon exemple toutes les cellules vertes sont égles à 10.

Par contre si la valeur des celulles vertes est différentes d'une cellule à l'autre et que j'applique un filtre c'est là le problème. Je ne sais pas comment calculer juste les cellules vertes qui apparaissent après le filtre?

La valeur des cellules n'a pas d'importance c'est le nombre de couleur par colonne que je recherche après le filtre.

J'aimerais pouvoir utiliser sous.total(2, couleur verte) avec filtre; mais cela me donne une erreur.

Alors comment faire ?

Merci,

Oiseau bleu

Bonjour,

Excuses-moi je n'avais pas vu ton code que tu avais mis dans le bas et en rajoutant le code que tu as mis cela fonctionne parfaitement.

And Not Cellule.EntireRow.Hidden

Merci beaucoup,

Oiseau bleu

Ne t'excuse pas. Tu as dû regarder avant que je le complète. Tu n'as pas eu la berlue

Rechercher des sujets similaires à "filtre couleur"