XL 2016 Compter les cellules en fonction de la couleur issu du MFC

  • Initiateur de la discussion Initiateur de la discussion Rabeto
  • 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 !

Rabeto

XLDnaute Occasionnel
Bonjour,

J'ai cherché une solution mais ce que j'ai trouvé ne correspond pas à ce que je souhaite avoir.
Si quelqu'un peut m'aider.

Je souhaite compter le nombre de cellule qui ont des couleurs issues d'une MEFC
 

Pièces jointes

Solution
Bonjour Patrick, le forum,

Oui c'est moi qui avais la comprenette difficile 🙄

Alors avec le fichier de mon post #10 on utilisera 2 dictionary :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d As Object, dd As Object, c As Range, coul&
Set d = CreateObject("Scripting.Dictionary")
Set dd = CreateObject("Scripting.Dictionary")
For Each c In [D3:M17] 'plage à adapter
    coul = c.DisplayFormat.Interior.Color
    d(coul) = d(coul) + 1 'comptage
    dd(coul) = dd(coul) + Val(Replace(c, ",", ".")) 'somme
Next
Application.EnableEvents = False 'désactive les évènements
For Each c In [A4:A6] 'plage à adapter
    coul = c.Interior.Color
    c = "Nombre " & d(coul) & " - Somme " & Format(dd(coul), "0.00")
Next...
Re,
???
Si vous insérez une colonne avec des valeurs = ou > à 7, les mefc existantes s'appliqueront, et leur décompte s'ajustera. Rien que de très normal.
Vous l'auriez constaté si vous l'aviez testé 🙂
PS : idem en cas d'insertion de ligne(s)
 
Bonjour,

Merci pour votre retour,
Comment avez vous trouver les numéros des couleurs, si par exemple je vais ajouter une autre cellules avec d'autre couleur, comment faire?
Si toujours partant pour retrouver le code couleur, alors voir Pj
Pas oublier d'activer les macros pour un fonctionnement normal

Slts
 

Pièces jointes

Bonjour à tous,

Voyez le fichier joint et cette macro évènementielle dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d As Object, c As Range, coul&
Set d = CreateObject("Scripting.Dictionary")
For Each c In [D3:M17] 'plage à adapter
    coul = c.DisplayFormat.Interior.Color
    d(coul) = d(coul) + 1 'comptage
Next
Application.EnableEvents = False 'désactive les évènements
For Each c In [A4:A6] 'plage à adapter
    c = d(c.Interior.Color)
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 

Pièces jointes

Ce fichier (2) est plus intéressant car on y liste les couleurs utilisées par les MFC :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d As Object, c As Range, coul&, n&
Set d = CreateObject("Scripting.Dictionary")
For Each c In [D3:M17] 'plage à adapter
    coul = c.DisplayFormat.Interior.Color
    d(coul) = d(coul) + 1 'comptage
Next
'---restitution---
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A4] '1ère cellule de destination, à adapter
    n = d.Count
    If n Then
        .Resize(n) = Application.Transpose(d.keys) 'codes couleurs
        For Each c In .Resize(n)
            c.Interior.Color = c.Value 'colore
        Next
        .Resize(n) = Application.Transpose(d.items) 'nombres
    End If
    .Offset(n).Resize(Rows.Count - n - .Row + 1).Delete xlUp 'RAZ en dessous
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Pièces jointes

Bonjour à tous,

Voyez le fichier joint et cette macro évènementielle dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d As Object, c As Range, coul&
Set d = CreateObject("Scripting.Dictionary")
For Each c In [D3:M17] 'plage à adapter
    coul = c.DisplayFormat.Interior.Color
    d(coul) = d(coul) + 1 'comptage
Next
Application.EnableEvents = False 'désactive les évènements
For Each c In [A4:A6] 'plage à adapter
    c = d(c.Interior.Color)
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
Bonjour,

Est-il possible d'avoir en plus du message #10 la somme de toutes les cellules de couleur

Merci d'avance
 
- 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
19
Affichages
900
Retour