XL 2016 Nombre de couleur

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 !

Solution
Bonjour Tsimbina, le forum.

Avec une fonction.

Function CompteCouleur(plage As Range, CouleurReference As Range) As Integer
Application.Volatile
Dim r As Range
Dim i As Integer
For Each r In plage
If r.Interior.Color = CouleurReference.Interior.Color Then i = i + 1
Next
CompteCouleur = i
End Function
Bonjour Tsimbina, le forum.

Avec une fonction.

Function CompteCouleur(plage As Range, CouleurReference As Range) As Integer
Application.Volatile
Dim r As Range
Dim i As Integer
For Each r In plage
If r.Interior.Color = CouleurReference.Interior.Color Then i = i + 1
Next
CompteCouleur = i
End Function
 

Pièces jointes

Bonjour le forum
Bonjour Tsimbina, Quincy et Philippe

@Philippe : 😉 Je me permets d'ajouter une ligne de code car si le User désire changer une couleur et appuie de nouveau sur le Bouton, les valeurs déjà présentes s'additionnent (ou même s'il appuie une 2ème fois sur le Bouton).
VB:
Option Explicit
Sub Nb_Coul()
Dim CouleurRef As Variant
Dim PlageLigneCouleur As Range, Cel As Range
Dim NbLigneCouleur&, i&, j&, k&

 ActiveSheet.UsedRange.Rows("4:" & ActiveSheet.UsedRange.Rows.Count) = ""


 Set PlageLigneCouleur = Range("A3:A" & Rows.Count).SpecialCells(xlCellTypeBlanks)
For Each Cel In PlageLigneCouleur
    If Cel.Interior.Color <> 16777215 Then NbLigneCouleur = Cel.Row
Next
For k = 4 To NbLigneCouleur
    For j = 7 To 10 'Les colonnes G à J
        CouleurRef = Cells(3, j).Interior.Color
        For i = 1 To 6 'La couleur à tester
            If CouleurRef = Cells(k, i).Interior.Color Then 'La couleur match alors on la compte
                Cells(k, j).Value = Cells(k, j).Value + 1
            End If
        Next i
    Next j
Next k
End Sub

Sub CommandButton1_Click()
Nb_Coul
End Sub

Bonne après-midi à toutes & àtous
@+ Eric c
 
Bonsoir à tous,

Il faut rappeler au demandeur qu'un changement de couleur (au moyen de la palette - couleur remplissage) ne déclenche aucun évènement de re-calcul de fonction (que la fonction comporte ou non l'instruction Application.Volatile)
Il faut donc "être prudent"...
 
Dernière édition:
- 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

Discussions similaires

Réponses
1
Affichages
57
Réponses
8
Affichages
113
Réponses
2
Affichages
63
Réponses
4
Affichages
66
Retour