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

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

  • Nb couleur MFC.xlsx
    9.8 KB · Affichages: 22
Solution
Bonjour Patrick, le forum,

Oui c'est moi qui avais la comprenette difficile :rolleyes:

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...

Chris769375

XLDnaute Nouveau
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 😉
 

job75

XLDnaute Barbatruc
Bonjour Patrick, le forum,

Oui c'est moi qui avais la comprenette difficile :rolleyes:

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

  • Couleur MFC(1).xlsm
    18.2 KB · Affichages: 9
Dernière édition:

Discussions similaires

Réponses
9
Affichages
902

Statistiques des forums

Discussions
312 206
Messages
2 086 221
Membres
103 158
dernier inscrit
laufin