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...
Comprenette difficile ? Entrez manuellement en A7 la formule =SOMME(A4:A6)

Nous parlons bien du fichier du post #10...
Je pense que vous avez pas compris,
Depuis le premier poste on parle de compter le nombre de cellule D3 à M17 qui ont des couleurs identique, et donc en plus je souhaite additionner les chiffres des cellules D3 à M17 de la meme couleur
Et pour info faire la somme de 3 cellules moi comprendre 😉
 
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
Columns(1).AutoFit 'ajustement largeur
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 

Pièces jointes

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
19
Affichages
900
Retour