Somme de couleur diffÉrente dans une colonne

Bonjour

Existe t-il une formule ou bien un code VBA pour sommer le nombre de couleur de cellule différente dans une colonne ?

Exemple dans la colonne il y a des cellules en remplissage ROUGE, BLEU, VERT, JAUNE, BLANC. Je souhaiterais à avoir une formule qui me dit qu'il y a 5 couleurs différentes.

Merci d'avance pour le coup de main.

Bonjour

Sans Code VBA, avec une formule LIRE.CELLULE XL4

Cordialement

7julien44220.zip (9.85 Ko)

Bonjour,

Pas sûr que ça réponde à ce que j'ai besoin.

J'ai trouvé une fonction qui compte le nombre de couleur différente à la case "blanche standtard" mais du coup cela additionne également les doublons.

Ci-dessous la formule :

Function CompteCouleurFond(champ As Range, couleurfond As Range)

Application.Volatile

Dim c, temp

temp = 0

cf = couleurfond.Interior.Color

For Each c In champ

If c.Interior.Color <> cf Then

temp = temp + 1

End If

Next c

CompteCouleurFond = temp

End Function

Il faut ajouter dans cette fonction, une ligne qui dit de ne pas compte 2 fois la même couleur mais je ne sais pas comment l'écrire...

Dans mon cas, le nombre de couleur différente me permettrait de savoir combien de chantier sont en activité tel ou tel jour.

J'ai mis mon fichier de travail.

Bonjour

La fonction que tu utilises sur ton fichier compte le nombre de cellules en couleur, mais pas le nombre de couleurs différentes.

Cordialement

Du coup comment faire pour adapter la formule ?

Bonjour Julien44220, Amadéus,

En retour ton fichier adapté pour ton besoin.

Note que l'exemple est fait sur la colonne F. A Modifier pour inclure les autres colonnes.

Clic sur Compte chantier. Et voir macro dans l'éditeur VBA.

Bons tests, bonne continuation.

Bonjour,

Essaie avec cette fonction (volatile) :

Function NbrChantier(Plg As Range)
Dim NbrC As Object
Dim Cel As Range
Application.Volatile
Set NbrC = CreateObject("Scripting.Dictionary")
For Each Cel In Plg
    If Cel.Interior.ColorIndex <> -4142 Then NbrC(Cel.Interior.ColorIndex) = Cel.Interior.ColorIndex
Next Cel
NbrChantier = NbrC.Count
End Function

Tout calcul ne se fera que sur une modification de cellule (ou suite à un appui sur la touche F9), et non un changement de couleur manuel

Parfait cela marche merci beaucoup

Rechercher des sujets similaires à "somme couleur differente colonne"