Formule Nombre de cellules couleur

Excel pour les pas trop nulles... -  
Bonjour,

J'ai un fichier avec des mises en formes conditionnelles qui déterminent la couleur d'une cellule en fonction de son résultat par rapport à une autre cellule.

Il y a 4 couleurs déterminées :
vert
orange
rouge
gris

Le tableau compare les niveaux compétences des élèves par rapport au niveau requis.

Les couleurs permettent de visualiser les écarts mais je recherche une formule qui indiquerait le nombre de cellules vertes, oranges, rouge et grises afin d'en calculer des %.

Par exemple, pour élève 1, 6 compétences vertes sur 10 soit 60%

Existe-t-il une formule permettant de calculer le nombre de cellules en fonction de la couleur des cellules ?

Je me débrouille sur Excel mais ne maitrise pas du tout les macros ni VBA.

Je peux joindre un fichier test si besoin.

Merci

3 réponses

  1. Contributeur
    Re
    voila une première tentative en fonction des MFC mais je n'ai pas compris tous les raisonnements et en patiuliers ceux qui sont liés à NR en G et H etc.. et G vide
    d'où seulement trois cellules de remplies
    notez que ces formules sont matricielles et doivent être entrées avec la touche enter en maintenant les touches ctrl et shift enfoncées?. Elles se retrouvent automatiquement entre accolades dans la barre de formuler.
    revenez pour la suite, en complètant les explications
    https://www.cjoint.com/c/FFnmXdx30F5

    à vous lire

    crdlmnt

    0
    1. Contributeur
      Bonjour
      VBA est il indispensable? si vous avez des mises en formes conditionnelles pour afficher les couleurs, vous devriez pouvoir en calculer le nombre pas des formules basées sur les mêmes raisonnements non?
      crdlmnt
      0
      1. J'ai 5 formules conditionnelles par ligne de compétences pur déterminer les couleurs, je ne sais pas comment faire pour trouver le résultats au global pour l'ensemble des compétences.
        0
      2. Contributeur
        Si vous nous donnez ces formules où si, mieux vous mettez un fichier à disposition sur
        https://www.cjoint.com/
        en revenant ici coller le lien créé sur le site, on pourra surement vous aider
        "bricoler" le fichier pour l'anonymiser si besoin et placez y quelques excplications
        à vous lire
        crdlmnt
        0
    2. Bonjour ,

      pour ce faire , il faut utiliser les macros et créer toi-même les fonctions :

      Petit coup de main :

      Function NbColor(ByRef Plage As Range, Couleur As Byte) As Long
      Dim c As Range
      Dim nb As Long
      nb = 0
      For Each c In Plage
      If c.Interior.ColorIndex = Couleur Then
      nb = nb + 1
      End If
      Next c
      NbColor = nb
      End Function

      Function NbColorSameAs(ByRef Plage As Range, ByRef Cellule As Range) As Long
      NbColorSameAs = NbColor(Plage, Cellule.Interior.ColorIndex)
      End Function



      Tu peux utiliser le code ci-dessus :
      La fonction NbColorSameAs prends comme référence ta plage a testé et une cellule contenant la couleur souhaité.

      Un exemple :

      Tu as mis en rouge la celulle B2;
      en C2 : =NbColorSameAS(A2:A10; B2)
      te donnera le nombre de case rouge (couleur identique à B2) sur la plage de A2 à A10

      Cordialement,
      0
      1. Bonjour,

        Ne marche pas avec les MCF !!! Il faut faire le meme test que pour les MFC
        0
      2. je peux vous envoyer un fichier pour que vous regardiez les MFC et m'expliquer comment faire la macro ?
        comment vous joindre un fichier ?
        0
      3. ci joint lien pour accéder à mon fichier

        http://www.cjoint.com/c/FFnk0AsjU5l
        0