Bonjour,
Chez moi ça fonctionne en tout cas. Comme il y a eu ce problème avec la propriété displayformat, j'ai fait un essai. Il faut mettre en premier argument la plage à calculer et en second une cellule de la même couleur :
=NbColor(C1:C10;A1)
La fonction renverra le nombre de cellules en C1:C10 ayant la même couleur que A1.
Je précise que le code est à placer dans un module normal.
Non, ce n'est pas possible de rendre le recalcul automatique car il s'agit des couleurs (propriété secondaire non gérée par un évènement). Ce serait comme faire la somme des cellules en italique ou avec une bourdure inéférieure.
Le meilleur moyen, comme le suggérait M12 reste de déclencher le calcul à chaque changement de sélection en supposant qu'après avoir changé la couleur d'une cellule vous irez en sélectionner une autre :
private sub worksheet_selectionchange(byval target as range)
application.calculate
end sub
Code à placer dans le module de la feuille concernée.
Je n'ai pas compris pour la tirage à chaque modif. La fonction se comporte comme une fonction normale, mis à part le problème de calcul. Il faut juste, une fois la macro évènementielle rajoutée, veiller à valider par entrée ou tab à chaque modif de couleur, c'est tout.
Cdlt,