Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

SEB60OISE

XLDnaute Nouveau
Bonjour à tous,
j'ai un petit problème avec un fichier excel 2007 dans lequel je voudrais pouvoir calculer rapidement et de façon automatisée le nombre de cellules remplies en rouge (remplies manuellement) et le nombre de cellules remplies en blanc (remplie avec mise en forme conditionnelle). Je ne m'y connais pas du tout en VBA et je n'ai pas réussi les manipulations que j'ai pu voir sur différents forums.
Quelqu'un connait-il une solution simple ?
Merci par avance.
En pièce jointe le fichier en question :
en case HA4 je voudrais le nombre de cases rouges entre HC4 et HL4
en case HB4 je voudrais le nombre de cases blanche entre HC4 et HL4
et la même chose pour chaque ligne jusqu'à la ligne 26
 

Pièces jointes

  • EXEMPLE.xlsx
    77 KB · Affichages: 605
  • EXEMPLE.xlsx
    77 KB · Affichages: 753
  • EXEMPLE.xlsx
    77 KB · Affichages: 778

SEB60OISE

XLDnaute Nouveau
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Merci beaucoup, ça fonctionne mais quand j'essaye =SOMMEPROD((HC4:HL4>=(HC$1:HL$1)/2)*1) pour la case HA4 (nombre de cases rouges) il m'additionne aussi les cases jaunes dans lesquelles je n'ai pas de nombre , mais la lettre "a".
Une idée.
Merci d'avance
 

CISCO

XLDnaute Barbatruc
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Bonjour

Il est possible de classer dans l'ordre alphabétique des mots à l'aide de > ou de <. Autrement dit b>a donne VRAI, c>b idem...

Je suposse qu'il existe un classement identique entre les lettres et les nombres, à savoir a>1, mais aussi a>2...

Si tu mets en jaune certaines cellules uniquement parcequ'elles contiennent du texte, pour ne pas les prendre en compte, et donc totaliser les cellules en rouge, tu peux faire avec :
Code:
SOMMEPROD(ESTNUM(HC4:HL4)*(HC4:HL4>=(HC$1:HL$1)/2))

@ plus
 

SEB60OISE

XLDnaute Nouveau
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Désolé de répondre si tard, j'ai essayé SOMMEPROD(ESTNUM(HC4:HL4)*(HC4:HL4>=(HC$1:HL$1)/2))
mais ça m'affiche 0 pour toutes les lignes.

Sur un autre fil de discussion quelqu'un m'a proposé ça
tu mets ça dans une cellule :

=nb_couleur(plage;6)

cela additionnera les cellules dont la couleur est jaune (index 6)


et tu colle ça dans un module :

Function nb_couleur(x As Range, Index_couleur As Integer)
s = 0
For Each cell In x
If cell.Interior.ColorIndex = Index_couleur Then
s = s + 1
End If
Next
nb_couleur = s
End Function


mais ça ne marche pas non plus. Quand je copie dans le module, ça m'affiche 0 partout aussi (il faut peut être enregistrer le module avant mais je ne vois pas comment faire.
Une idée ? Merci.
 

SEB60OISE

XLDnaute Nouveau
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Finalement j'ai réussi avec la méthode de Cisco, que je remercie beaucoup, en remplaçant SOMMEPROD(ESTNUM(HC4:HL4)*(HC4:HL4>=(HC$1:HL$1)/2)) par =SOMMEPROD((HC4:HL4>=(HC$1:HL$1)/2)*1)-NB.SI(HC4:HL4;"a").
Merci pour la fonction SOMMEPROD que je ne connaissais pas
A+
 

Eglisserion

XLDnaute Nouveau
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Bonjour,

Je relance le sujet car j'ai un petit soucis. Dans un tableau, j'ai effectué des mises en forme conditionnelle sur chaque colonne de façon à faire apparaitre en rouge les anomalies te en orange les warning. Dans une nouvelle colonne, je souhaite compter le nombre de cellules rouges (et par extension orange) pour chaque ligne ce qui em donnera le nombre d'anomalies.

Pour cela, j'ai écris la fonction suivante :

Function NbRouge(ByRef Plage As Range) As Long
Dim c As Range
Dim nb As Long
nb = 0
For Each c In Plage
If c.Font.Color = RGB(255, 0, 0) Then
nb = nb + 1
End If
Next c
NbRouge = nb
End Function

Pour information, j'ai essayé plusieurs variantes :
c.Interior.Color = RGB(255, 0, 0)
c.Font.ColorIndex = 3
c.Interior.ColorIndex = 3

Dans chaque cas, la fonction me retourne 0. or si je change manuellement le contenu d'une cellule pour la mettre en rouge, j'obtiens bien le résultat attendu.

Par conséquent, je me demandais comment je pouvais compter le nombre de cellules colorées en rouge à la suite de mes mises en forme conditionnelle.

En vous remerciant par avance.
 

MJ13

XLDnaute Barbatruc
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Bonjour Eglisserion

C'est normal, vu que la couleur en MEFC n'st pas considérée comme une couleur au sens d'Excel. Il te faut donc reprendre la condition de la MEFC et analyser tes cellules pour comptabiliser celles qui remplissent les conditions.
 

Eglisserion

XLDnaute Nouveau
Re : Compter le nombre de cellules colorées avec ou sans mise en forme conditionnelle

Je vous remercie pour cette précision. Du coup le plus simple serait d'opter pour réaliser une macro de mise en forme qui justement initialiserait l'intérieur des cellules de la couleur souhaitée. Ainsi je pourrais effectué mon comptage comme écrit précédemment.

Cela se justifie d'autant plus qu'il faudra réaliser cette manipulation de façon hebdomadaire.
 

Discussions similaires

Statistiques des forums

Discussions
314 658
Messages
2 111 621
Membres
111 235
dernier inscrit
Morgane SANCHEZ