Macro ou calcul?

Résolu
Bonjour,

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

Est-ce possible de compter le nombre de boule verte, le nombre de boule jaune...????
Configuration: Windows Vista Internet Explorer 7.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    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....

      :-(
  2. 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 :-)
    2. 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é?
  3. 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! ;-)
  4. Bonjour,

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