Ca vous est forcement déjà arrivé. Vous avez votre rapport de ventes, votre liste de courses ou un magnifique diagramme de Gant et maintenant que tout est en place, il vous faut compter combien de lignes ou colones sont d’une couleur bien précise.

Malheureusement Excel ne vous permet pas de faire quelque chose de simple avec une fonction. Il va falloir mettre la main à la pate et pour ça on a deux options.

La méthode très manuelle pour compter des cellules de couleur

On va commencer par faire avec ce qu’on a, c’est à dire les options de filtre d’Excel.

  1. On a notre tableau avec des couleurs.
  2. On rajoute des filtres.
  3. On filtre par couleur.

C’est pas plus compliqué que ça et ça peut très bien répondre à votre besoin.

La méthode plus solide pour compter des cellules de couleur

On ne va pas se mentir, il y a plein de cas pour lesquels la première méthode ne vous plaira pas: si votre tableau change fréquemment, si vous souhaitez avoir un récapitulatif automatique du compte de cases colorées ou si vous collaborez à plusieurs sur un même document.

Cette deuxième méthode vise à créer une nouvelle fonction dans Excel, juste pour ce fichier, qui vous permettra de compter le nombre de cellules d’une couleur spécifique dans une zone délimitée. Parfait non ?

Pour cela, on va utiliser le langage de programmation d’Excel, le VBA. Une fois la fonction crée, on aura plus qu’à l’utiliser comme n’importe quelle autre fonction pour faire notre tableau.

On crée la fonction VBA

1. Commencez par faire un clic droit sur le nom de votre onglet (en bas) et choisissez « View code » ou « Afficher le code » en Français.

2. Ajoutez un module en faisant clic droit sur le nom de votre onglet (ici « Sheet1 » ou « Onglet 1 »), puis Insert, puis Module:

3. Copiez / collez la fonction ci-dessous dans la fenêtre qui s’ouvrira. Fermez ensuite l’éditeur de code pour revenir à votre tableau Excel normal.
Excel vous demandera probablement de sauvegarder le fichier. Vous noterez que le type de fichier devient maintenant un .xlsm (‘m’ pour Macro).

'Code created by Sumit Bansal from https://trumpexcel.com
Function GetColorCount(CountRange As Range, CountColor As Range)
Dim CountColorValue As Integer
Dim TotalCount As Integer
CountColorValue = CountColor.Interior.ColorIndex
Set rCell = CountRange
For Each rCell In CountRange
  If rCell.Interior.ColorIndex = CountColorValue Then
    TotalCount = TotalCount + 1
  End If
Next rCell
GetColorCount = TotalCount
End Function 

On utilise notre nouvelle fonction

Maintenant que le plus dur est derrière nous, passons à l’attaque, armés de notre nouvelle fonction.

  1. Je commence par créer une cellule de la couleur que je souhaite énumérer. J’ai choisis ici la cellule B1.

2. Je vais ensuite inscrire la formule suivante dans ma cellule C5:

=getColorCount(D5:CB5;$B$1)

Autrement dit:
=getColorCount([LA ZONE DANS LAQUELLE IL FAUT COMPTER];[LA COULEUR])

Et là, miracle. Si vous avez tout suivi, votre cellule C5 va vous dire combien de cellules jaunes se trouvent entre D5 et CB5. Les cellules sans couleur ou d’autre couleur ne seront pas comptées.

Pour aller plus loin

Bon comptage