VBA Excel - Nombre de cellules selon leur couleur

Décembre 2016




Introduction

Cette astuce et le code qui lui correspond ont été écrit par Mytå, suite à cette question sur le forum.

Précisions :
Il s'agit d'une fonction personnalisée créée en VBA, le Visual Basic pour Application, mis à disposition dans Excel.
Ne fonctionne pas si les couleurs sont issues d'une Mise en Forme Conditionnelle.

Mode d'emploi

1- Accédez à l'éditeur VBA : Alt+F11

2- Insérez un nouveau module : Insertion/Module
3- dans ce module, copiez-collez le code suivant :
Function NbreCellulesCouleur(Plage As Range, Couleur As Byte) As Long
'Compter le nombre de cellules d'une couleur donnée dans une plage donnée
'Plage: plage de cellules à inspecter
'Couleur: valeur de la couleur cherchée

Application.Volatile

Dim Cellule As Range

For Each Cellule In Plage
    If Cellule.Interior.ColorIndex = Couleur And Not IsEmpty(Cellule) Then
        NbreCellulesCouleur = NbreCellulesCouleur + 1
    End If
Next Cellule

End Function

4- fermez l'éditeur VBA
5- Depuis n'importe qu'elle cellule de votre feuille, tapez la formule suivante (par exemple) :
ABC D
1 =NbreCellulesCouleur(B4:B8;3)
2
3
4

Les paramètres :
B4:B8 : plage à traiter
3 : couleur à rechercher (ici rouge).

Vous trouverez un tableau des codes couleurs ICI. Choisissez les codes "couleurs VBA" (de 1 à 56).

A voir également :

Ce document intitulé «  VBA Excel - Nombre de cellules selon leur couleur  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.