Compter le nombre de cellule correspondant à 3 couleurs dans un tableau (1)

  • Initiateur de la discussion Initiateur de la discussion JFP
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JFP

Guest
Oh la la !

Bonjour à toutes et à tous,


Bon, je me suis un peu mélangé les pédales dans mon (mes) messages : le 1er était donc le suivant :

J'ai découvert ce site il y a 1 semaine et j'ai profité de mes congés (et du temps pas terrible chez moi en Bretagne) pour m'initier.

J'ai donc utilisé plusieurs de vos PJ et des fils pour tenter une petite application (PJ dans le message 2) dont je suis très fier ! En effet, partant de zéro, grace à vous je vais pouvoir impressioner mes collègues de travail en rentrant !

Ceci étant, je bute sur un problème : je souhaiterais faire les totaux de chaque couleur par colonne afin de faire, ensuite, des camemberts par critères.

J'ai bien trouvé sur le forum des aides mais elles impliquaient d'appliquer un n° à chaque cellule coloriée or j'ai des couleurs (le vert) qui peut déjà comprendre du texte...

Là, je suis bloqué et désespéré (bon, n'exagérons pas trop !)

Merci à qui pourra me porter assistance. Un grand merci également à tous car je crois qu'on peut très rapidement évoluer grace à vous !

A toutes fins utiles, j'ai joint mon tableau sur le message n°2.
J'attends vos remarques, suggestions, critiques , apports...

Encore merci et kenavo

JFP de Kemper (Pen ar bed)
 
Ce code compte le nombre de cellule ayant la même couleur et par couleur
sur la selection, Cela devrait t'aider.

Ce n'est peut être pas trop clair, mais poses des questions!

Sub coul()
ReDim tablecouleur(1, 1)
For Each i In Selection

c = i.Interior.ColorIndex
'test si couleur existe"
flag = 0
For n = 0 To UBound(tablecouleur, 2)
If c = tablecouleur(1, n) Then
'Si elle existe ont incrémente les compteurs
flag = 1
tablecouleur(0, n) = tablecouleur(0, n) + 1
End If
Next
'Si flag= 0 elle n'existe pas et ont augmente la taille de la table
If flag = 0 Then
ReDim Preserve tablecouleur(1, UBound(tablecouleur, 2) + 1)
tablecouleur(1, UBound(tablecouleur, 2)) = c
tablecouleur(0, UBound(tablecouleur, 2)) = 1
End If
Next

For n = 2 To UBound(tablecouleur, 2)
MsgBox tablecouleur(0, n) & " / " & tablecouleur(1, n)
Next
End Sub
 
Merci à toi,

j'ai puisé dans les réponses de Mytå pour mon tableau mais je comptes bien étudier ta solution : je suis en phase d'apprentissage et toutes les leçons sont bonnes à prendre !

Bonne journée et à +

JFP
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour