Nombre de cellules de couleurs différentes dans une plage

Magic_Doctor

XLDnaute Barbatruc
Bonjour à tous,

J'ai une plage nommée "zaza" qui contient, évidemment, une certain nombre de cellules. Certaines de ces cellules ont des couleurs différentes.
Comment connaître le nombre total de différentes couleurs dans cette plage ?

Merci pour le coup de main.
 

Magic_Doctor

XLDnaute Barbatruc
Re : Nombre de cellules de couleurs différentes dans une plage

Bonjour JCGL,

En fait ce que je recherche ne correspond pas vraiment à la fonction de JB.
Peut-être me suis-je mal exprimé.
J'ai une plage de cellules, supposons A1:A25 (soit 25 cellules).
Dans cette plage il y a, supposons, 10 cellules bleues, 3 cellules jaunes, 6 cellules vertes, 5 cellues rouges et 1 cellule orange.
Évidemment, les couleurs de ces cellules ne se suivent pas forcément (il peut très bien y avoir une seule cellule verte au milieu des cellules bleues ; tous les cas de figures peuvent être donc envisagés).
Au total j'ai donc 5 couleurs différentes (bleu, jaune, vert, rouge et orange).
C'est ce chiffre 5 que je voudrais récupérer.
 

job75

XLDnaute Barbatruc
Re : Nombre de cellules de couleurs différentes dans une plage

Bonsoir Magic Doctor, JC :)

Nombre de couleurs différentes des cellules d'une plage par cette fonction :

Code:
Function NBCOUL(plage As Range)
Dim d As Object, cel As Range, coul
Set d = CreateObject("Scripting.Dictionary")
For Each cel In plage
 coul = cel.Interior.ColorIndex
 If coul <> xlNone Then d(coul) = coul
Next
NBCOUL = d.Count
End Function
Dans une cellule on peut écrire =NBCOUL(zaza)

Dans une macro on utilisera NBCOUL([zaza])

A+
 

job75

XLDnaute Barbatruc
Re : Nombre de cellules de couleurs différentes dans une plage

Re,

Si la fonction est surtout utilisée dans une feuille de calcul, il vaut mieux la rendre volatile :

Code:
Function NBCOUL(plage As Range)
Dim d As Object, cel As Range, coul
Application.Volatile
'----
Mais si l'on ajoute une couleur, il faudra quand même forcer le recalcul par la touche F9.

A+
 

Magic_Doctor

XLDnaute Barbatruc
Re : Nombre de cellules de couleurs différentes dans une plage

Bonsoir job,

Encore une fois merci. Tu m'auras initié à 2 mots magiques "Evaluate" et, avec BOIGONTIER, à l'énigmatique "Scripting.Dictionary" dont je n'ai pas encore saisi toute la quintessence. Depuis j'évalue ma belle-mère et j'essaie de la mettre dans un dictionnaire.


natorp bonsoir, je vais maintenant aller au lien que tu as joint. BOISGONTIER c'est toujours intéressant.

Bonne soirée à tous.
 

Magic_Doctor

XLDnaute Barbatruc
Re : Nombre de cellules de couleurs différentes dans une plage

job,

Quand je vois volatile, je ne sais pas pourquoi, mais ça me rappelle cette affreuse chanson italienne "Volaaaare...."
Bref, je me suis toulours demandé quelle était la signification de volatile. C'est pour moi shakespearien "volatile or not volatile"... un vrai dilemme !
 

Discussions similaires

Réponses
9
Affichages
265

Statistiques des forums

Discussions
312 764
Messages
2 091 870
Membres
105 084
dernier inscrit
lca.pertus