Macro ou calcul?

Résolu/Fermé
Cary - 18 nov. 2009 à 14:17
 Cary - 22 nov. 2009 à 21:39
Bonjour,

https://www.cjoint.com/?lsnm13Unig

Est-ce possible de compter le nombre de boule verte, le nombre de boule jaune...????
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 753
18 nov. 2009 à 15:37
Salut,
Effectivement, le tableau n'est pas clair. Je pense que la colonne A ne devrait pas être toute grise, mais contenir des cellules de couleur différentes.
Si tel est le cas, voici la démarche (trouvée ici dans le post de Rai)
Taper Alt + F11
Insertion / Modules
Copier / coller ce code :

Function SommeCouleur(Plage As Range, Optional couleur As Integer)
Application.Volatile
If couleur = 0 Then couleur = xlColorIndexNone
For Each c In Plage
If c.Interior.ColorIndex = couleur Then SommeCouleur = SommeCouleur + 1
Next c
End Function


Saisir dans la cellule ou l'on désire la somme des cellules colorées :
=SOMMECOULEUR(A1:A25;3)
A1:A25 étant la plage et 3 le code couleur
codes couleurs : 1=noir, 2=blanc (et non absence de couleur), 3=rouge, 4=vert, 5=bleu, 6=jaune, 7=rose, 8=bleu clair
1
Oui ca marche super avec des couleurs mais l'ennui c'est que je travaille avec excel 2007, les cellules ne sont pas grise il y a une mise en forme conditionnelle avec des petites boules vertes, rouges, jaunes... mais si vous êtres sur 2003 vous ne pouvez pas les apercevoir car cette fonction n'existe pas sur excel 2003! Je voulais trouver une solution afin de pouvoir comptabiliser toutes les boules vertes, jaunes....

:-(
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
18 nov. 2009 à 17:53
Bonsoir,

voilà une possibilité :
pour les rouges : =SOMMEPROD((ENT((3*$A$1:$A$25/MAX($A$1:$A$25)))=0)*1)
pour les oranges: =SOMMEPROD((ENT((3*$A$1:$A$25/MAX($A$1:$A$25)))=1)*1)
pour les pas mures : =SOMMEPROD((ENT((3*$A$1:$A$25/MAX($A$1:$A$25)))=2)*1)

ou encore :
=SOMMEPROD(($A$1:$A$25/MAX($A$1:$A$25)<1/3)*1)
=SOMMEPROD(($A$1:$A$25/MAX($A$1:$A$25)>=1/3)*($A$1:$A$25/MAX($A$1:$A$25)<=2/3)*1)
=SOMMEPROD(($A$1:$A$25/MAX($A$1:$A$25)>=2/3)*1)

ou encore :
=FREQUENCE($A$1:$A$25/MAX($A$1:$A$25);{0,33333333333333;0,6666666666666;1})
en validation matricielle (CTRL+MAJ+ENTER) sur une zone de 3 cellules genre F4:F6

cordialement
1
Tout d'abord, merci d'avoir répondu, je dois partir ce soir et je n'aurais pas la possibilité d'avoir un pc avec excel 2007. Je vous répondrai vendredi :-)
0
C'est génial ca marche mais j'ai juste un petit souci il peut m'arriver de fusionner des cellules de A1:A25 si je fusionne par exemple deux cellules il n'arrive pas à calculer le boule de la cellule fusionner y a-t-il une possibilité?
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
20 nov. 2009 à 22:24
Bonsoir,

en rajoutant ($A$1:$A$28>0) dans la formule ça doit marcher :
=SOMMEPROD(($A$1:$A$28>0)*($A$1:$A$28/MAX($A$1:$A$28)<1/3)*1)

cordialement
1
Super! Merci beaucoup! ;-)
0
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 369
18 nov. 2009 à 14:52
Bonjour,

Ton tableau n'est pas très clair, que veux tu faire exactement?
0