Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Compter cellule de couleur.

Anto35200

XLDnaute Occasionnel
Bonjour au forum,

Malgré les recherches sur internet, je ne trouve pas comment je peux faire pour compter le nombre de cellule de la couleur verte de mon fichier.
Je vous transmet en fichier joint le cas.

Je vous remercie à tous.
 

Pièces jointes

  • Compter cellule couleur..xlsx
    10 KB · Affichages: 11
Solution
Re

@Anto35200

Je te propose ce fichier

1) j'ai commenté tout le code

2) La demande ne correspond pas au fichier fournit !!!
Copier la feuille Devises dans le même fichier qui sera Devises(2)


Conséquence ==> J'ai fait la macro en fonction du fichier fournit et pas en fonction du post # 17

3) Une seule macro fait tout avec le résultat demandé directement

4) J'ai fait des essais ET tu vas rire mais cela fonctionne (!!!!
==> Cela fonctionne avec le fichier fournit au post # 17 ==> Extraction du 21.05.2024.xlsx

Merci de ton retour

Anto35200

XLDnaute Occasionnel
Merci Lolote83 de ta proposition de réponse.
A quoi correspond les nombres 146,208,80 ? Je suppose que ce sont les codes couleurs. Si oui, où est -ce qu'on les trouve ?
VB:
 If xCell.Interior.Color = RGB(146, 208, 80) Then
 

Phil69970

XLDnaute Barbatruc
Re

@Anto35200

Merci Phil69970 de ta proposition, mais je ne comprends pas la formule
=@nbCouleurs(A2:C24;E28)
la cellule indique #NOM?
Pourtant dans le fichier du post #2 cela fonctionne bien et donne le bon résultat



La formule fonctionne grâce à une fonction personnalisée



Si tu as accepté les macros elle fonctionne sur tous les PC

Et comment fonctionne t'elle ?

C'est simple elle compte toutes les couleurs identiques à la couleur de référence indiqué en E28
 

Anto35200

XLDnaute Occasionnel
C'est bon çà fonctionne maintenant !
Dans le cas ou je dois rajouter de la couleur verte dans la même plage de cellule, comment on actualise le Total ?
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
L'avantage de la solution proposée par @Phil69970 est que c'est une fonction personnalisée donc elle se recalcule automatiquement. La mienne, tu es obligé de cliquer sur le bouton pour avoir le résultat. De plus, dans la version de Phil69970, il prend référence à la couleur de la cellule en E28 alors que, de mon coté, j'ai figé la couleur sur son RGB. Avec celle de Phil69970, si tu changes la couleur de la cellule E28, cela te recalculera les cellules associées à cette couleur donc à mon sens, beaucoup plus pratique. A toi de voir
@+ Lolote83
 

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour,

VB:
Sub CompterCellulesEnvert()
Dim PlageTest As Range, iCell As Range
Set PlageTest = Range("A2:C24")
For Each iCell In PlageTest
    If iCell.Interior.color = RGB(146, 208, 80) Then
        CompterCellules = CompterCellules + 1
    End If
Next iCell
MsgBox "Il y a " & CompterCellules & " cellules vert."
[G28].Value = CompterCellules
End Sub

ou

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PlageTest As Range, iCell As Range
Set PlageTest = Range("A2:C24")
For Each iCell In PlageTest
    If iCell.Interior.Color = RGB(146, 208, 80) Then
        CompterCellules = CompterCellules + 1
    End If
Next iCell
MsgBox "Il y a " & CompterCellules & " cellules vert."
[G28].Value = CompterCellules
End Sub

Bonne soirée.
Nicolas
 
Dernière édition:

Discussions similaires

Réponses
19
Affichages
642
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…