compter les couleurs

qasar

XLDnaute Nouveau
Bonjour,
Ma question est surement simple mais elle dépasse mes faibles compétences techniques, même si quelques brides de réponses existent déjà sur le forum.
Je cherche dans un tableau complexe (pas forcément que des cellules adjacentes) à compter le nombre de cellules de chaque couleur (presque toutes les couleurs XL sont utilisées) et ensuite d'écrire le résultat pour chaque couleur dans une case particulière.
Si cette opération pouvait se faire automatiquement au fur et à mesure que je remplis le tableau, ce serait plus simple que de lancer une macro à chaque modification.
De plus, il y a plusieurs feuilles dans mon classeur, et j'ai besoin d'avoir un total par page et un général.
Merci à qui pourrait m'aider
Qasar
 

qasar

XLDnaute Nouveau
Re : compter les couleurs

Désolé, j'ai dû mal m'exprimmer.
Je remplis à la main les couleurs en fonction de la nature d'activité, et je souhaite compter combien j'ai de créneaux de chaque activité par trimestre (une feuille excel par trimestre) et sur l'année.
Bien sur il suffit de compter sur le code couleur, mais ma connaissance de VB est assez nulle et je cherche comment faire...
Merci
 

qasar

XLDnaute Nouveau
Re : compter les couleurs

Merci bruno33 pour tes réponses, mais j'ai bien peur d'avouer que non.
En effet, le format conditionnel part de la valeur qui est entrée (d'après ce que je vois...). Or, j'ai du texte dans la cellule (nom de ce créneau), mais la couleur se rapporte à un module auquel appartient ce créneau qui n'apparait pas dans le texte.
Sius je clair à mon tour?
 

bruno33

XLDnaute Occasionnel
Re : compter les couleurs

Souvent le format conditionnel pose problème avec du texte tu peux donc taper 1 2 3 4 ... dans une cellule et que dans la "vraie" cellule apparaisse le texte. Le format conditionnel s'appliquerait en fonction du code 1 2 3

As tu compris?
Le mieux serait d'envoyer le fichier
 

jp14

XLDnaute Barbatruc
Re : compter les couleurs

Bonsoir

Ci joint un fichier avec une fonction pour compter le nombre de couleur identique.


JP
 

Pièces jointes

  • fonctioncomptecouleur.xls
    28.5 KB · Affichages: 239
  • fonctioncomptecouleur.xls
    28.5 KB · Affichages: 238
  • fonctioncomptecouleur.xls
    28.5 KB · Affichages: 248

qasar

XLDnaute Nouveau
Re : compter les couleurs

merci moa et jp14, cela répond à mes besoins, et c'est vraiment sympa.
Mais deux choses :
1. que signifie le code application.volatile?
2. et comment faire écrire le résultat dans une cellule donnée (je sais ce doit être très basique, mais je ne connait pas le mot, j'ai essayé write, mais sans résultat et quand on pose la questiond dans l'aide, il n'y rien qui sort...)
Enfin merci encore
 

Moa

XLDnaute Occasionnel
Re : compter les couleurs

Salut Qasar !
¨
Pour mettre le résultat dans une cellule donnée :

Range("B15") = TonRésultat

Dans ma macro, vu qu'il y a plusieurs cellules concernées et qu'il y a deux boucles, j'ai utilisé :

Range("B" & i) = Compteur

I étant la variable, s'incrémentant de 1 à chaque fois que la boucle est finie.

Dans ce cas :

Sub CompteCouleur()
Dim Compteur As Integer
Dim Cell As Range
Dim i As Integer
For i = 3 To 6
Compteur = 0
For Each Cell In Range("D3:J17")
If Cell.Interior.ColorIndex = Range("B" & i).Interior.ColorIndex Then
Compteur = Compteur + 1
End If
Next Cell
Range("B" & i) = Compteur
Next i
End Sub


"I" vaut de 3 à 6 étant donné que mes résultats s'affichent de B3 à B6.

@ +++

ChrisOne
 

jp14

XLDnaute Barbatruc
Re : compter les couleurs

qasar à dit:
merci moa et jp14, cela répond à mes besoins, et c'est vraiment sympa.
Mais deux choses :
1. que signifie le code application.volatile?
2. et comment faire écrire le résultat dans une cellule donnée (je sais ce doit être très basique, mais je ne connait pas le mot, j'ai essayé write, mais sans résultat et quand on pose la questiond dans l'aide, il n'y rien qui sort...)
Enfin merci encore

Bonjour

Ce n'est pas le code qui est volatile mais les résultats partiels de la fonction.
Pour écrire le résultat dans une cellule il suffit simplement d'utiliser cette formule dans la celule ( La formule se trouve dans la catégories "personnalisé")

JP
 
Dernière édition:

Moa

XLDnaute Occasionnel
Re : compter les couleurs

Re !

Oui toute macro peut fonctionner avec des blocs non contingus.

Soit tu fais un range avec des virgules dans ta parenthèse pour séparer les blocs, soit tu fais un range avec la fonction "Union".

Tu trouveras une doc et la façon d'utiliser "Union" en faisant F1.

@ +++

ChrisOne
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet