En plus d’utiliser des valeurs et du texte dans vos feuilles de calcul, Excel vous permet d’utiliser des couleurs pour animer ou donner du sens à vos données. Si vous utilisez des couleurs dans vos feuilles de calcul, vous pouvez vous demander s’il existe un moyen de compter le nombre de cellules mises en forme avec une couleur de remplissage particulière. Il n’y a pas de fonction intrinsèque dans Excel pour effectuer une telle tâche, mais vous pouvez certainement en créer une avec une fonction définie par l’utilisateur. Voici un exemple de celui qui comptera le nombre de cellules dans une plage qui sont formatées avec une couleur de remplissage jaune:

Function CountYellow(MyRange As Range)

Dim iCount As Integer     Application.Volatile     iCount = 0     For Each cell In MyRange         If cell.Interior.ColorIndex = 6 Then             iCount = iCount + 1         End If     Next cell     CountYellow = iCount End Function

Pour utiliser la fonction, tout ce que vous avez à faire est d’utiliser une formule telle que la suivante dans une cellule de votre feuille de calcul:

=CountYellow(A1:A99)

Cet exemple renvoie le nombre de cellules dans la plage A1: A99 qui utilisent la couleur de remplissage jaune.

Notez dans la fonction CountYellow que les cellules sont examinées pour voir si la propriété ColorIndex est égale à 6. Dans d’autres codages VBA, vous pouvez être habitué à voir des constantes presque anglaises qui définissent les couleurs. Dans ce cas, les constantes de couleur normales ne fonctionnent pas. Au lieu de cela, la propriété ColorIndex fonctionne sur la base d’un ensemble de valeurs d’index dans une palette de couleurs particulière. Si vous souhaitez voir les différentes valeurs d’index utilisées pour les différentes couleurs, consultez le fichier d’aide en ligne VBA pour la propriété ColorIndex.

Une fois que vous savez comment parcourir les cellules d’une plage de cette manière, il est facile d’effectuer d’autres types d’opérations en fonction de la couleur utilisée pour remplir les cellules de la plage. Par exemple, au lieu de simplement compter le nombre de cellules, vous pouvez additionner les valeurs des cellules de la plage, ou vous pouvez trouver la moyenne des valeurs de la plage. Tout ce que vous avez à faire est d’apporter les modifications appropriées au code dans la structure If …​ End If la plus interne.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (1978) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.