utiliser une couleur de fond dans une fonction

  • Initiateur de la discussion Initiateur de la discussion bencasper
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

bencasper

Guest
Bonjour, j'aimerais utiliser une fonction avec 2 conditions, en effet, j'aimerais pouvoir compter dans chaque colonne pour M. X le nombre de fois que j'ai "H" et une case rouge (voir colonne X4 et X5 du fichier joint) en même temps, le problème c'est que je ne trouve pas la fonction qui prend en compte le fond de couleur rouge...😕, dois je créer une macro, et auquel cas pouvez vous m'aider? 😛, j'espère avoir été clair...
 

Pièces jointes

Re : utiliser une couleur de fond dans une fonction

Bonjour,

Voir PJ

Code:
Function ComptecouleurFondTexte(champ As Range, coul, texte)
  Application.Volatile
  n = 0
  For Each c In champ
     If c.Interior.ColorIndex = coul And c.Value = texte Then n = n + 1
  Next c
  ComptecouleurFondTexte = n
End Function

JB
Formation Excel VBA JB
 

Pièces jointes

Re : utiliser une couleur de fond dans une fonction

Bonjour Boisgontier, merci pour ton aide, et désolé pour ma réponse tardive... toutefois, j'ai du mal m'exprimer, les deux conditions à comparer doivent être dans deux cases différentes, en effet, dans la ligne 4 j'ai la condition case rouge et dans la ligne 5 j'ai la condition "H", de plus le test doit se faire par colonne (si X4 = rouge et X5 = H, alors n+1, idem pour Y4, Y5... le tout sur 31 jours), merci pour ton aide.
 
Re : utiliser une couleur de fond dans une fonction

Bonjour Bencasper, bonjour Boisgontier,

Et joyeux Noël à tous.

Un petite modif sur le code de Boisgontier comme ci-dessous:

Code:
Function ComptecouleurFondTexte(champ As Range, coul As Integer, texte)
  Application.Volatile
  n = 0
  For Each c In champ
     If c.Interior.ColorIndex = coul And c.Offset(1, 0).Value = texte Then n = n + 1
  Next c
  ComptecouleurFondTexte = n
End Function

Il suffir d'appeler la fonction avec le range souhaité, le code couleur (ici 46) et la lettre choisie pour la cellule en dessous (ici "H") ce qui donne:

Code:
=ComptecouleurFondTexte($B4:$AF4; 46;"H")

Cf exemple joint.

@+

Gael
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour