Problème Couleur cellule / MFC

luke17

XLDnaute Nouveau
Bonjour,

j'ai récupéré sur le net une formule permettant parmi une plages de cellules de compter le nombre de cellules de la même couleur qu'une cellule "test".
Voici le détail de la formule incorporée dans un module Excel:

Function NBCOLOR(Cible As Range, oRef As Range) As Long
Dim o, i%, k%
Application.Volatile
k = oRef.Interior.ColorIndex
For Each o In Cible
If o.Interior.ColorIndex = k Then i = i + 1
Next
NBCOLOR = i
End Function

En clair je tape =NBCOLOR(X,Y) avec X = plage de cellules dans laquelle compter et Y emplacement de la cellule dont la couleur de fond sert de base au comptage.
Cette formule est très utile et marche très bien. Cependant, elle ne semble pas marcher dans le cas suivant:

Je rentre dans Excel des résultats de tests. En fonction du résultat, je fais une MFC qui selon le résultat colore le fond de la cellule en vert, orange ou rouge.

Je veux ensuite compter combien j'ai de cellules vertes, oranges et rouges dans ma plage de cellules dont la couleur de fond est déterminée par la MFC et là la formule ne marche pas.

Double question: pourquoi ça ne marche pas?
comment arriver à compter le nombre de cellules dont le fond est une couleur donnée sachant que les couleurs sont déterminées par une MFC?

Merci.
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Problème Couleur cellule / MFC

bonjour luke17

Cela ne marche pas parceque la couleur n'est pas lisible en vba dans une cellule dont la couleur depend d'une MFC
Il faut tester la formule definissant la couleur pour faire le decompte
 

luke17

XLDnaute Nouveau
Re : Problème Couleur cellule / MFC

En tout cas c'est un brouillon qui marche. J'ai mis un peu de temps à comprendre car je suis assez novice mais maintenant c'est bon. Cependant j'ai encore un problème :D

Comme je l'avais expliqué j'ai une mise en forme conditionnelle qui colore les cellules en vert, en orange ou en rouge en fonction des résultats des tests que j'effectue. Je vous mets le détails de mes MFC pour info.
Si cell value is greater than 0 alors couleur de fond = vert
Si cell value is between -0.25 et 0 alors couleur de fond = orange
Si cell value is less than -0.25 alors couleur de fond = rouge
En l'absence de test, la cellule renvoie une valeur sous forme de texte qui est "N/A".
En découlent 2 problèmes.
Le premier c'est que les cellules N/A sont colorées en vert. Je ne comprends pas pourquoi. Ne pouvant mettre que 3 MFC je ne peux pas en rajouter une 4ème disant Si cell is equal to "N/A" alors couleur de fond = blanc.
Le second problème est que lorsque j'applique la fonction =comptecoulMFC si la plage de cellules dans laquelle il faut compter contient au moins une cellule N/A alors la fonction ne marche pas et me renvoie en résultat #VALUE.

Je vous remercie par avance de vos réponses.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed