Fonction couleur et NB.SI.ENS

Bonjour,

j'ai créé un fonction couleur qui me permet de compter le nombre de cellules qui sont de la même couleur que celle que je désigne (la cellule est rouge) selon la manière suivante :

=CompterCouleur(plage;critère)

Voici mon code VBA:

Function CompterCouleur(PlageCouleur As Range, Couleur As Range)
Dim CodeCouleur As Integer

Dim NbrCouleur As Integer

CodeCouleur = Couleur.Interior.ColorIndex

Set CCell = PlageCouleur

For Each CCell In PlageCouleur

If CCell.Interior.ColorIndex = CodeCouleur Then

NbrCouleur = NbrCouleur + 1

End If

Je souhaiterais maintenant compter combien de cellules sont de la même couleur que celle que je désigne (rouge) ET qui comporte la chaine de caractères "AIR FRANCE").

Mon soucis est que je sais faire les deux séparément mais je n'arrive pas à associer les deux conditions dans une seule formule.

En espérant que vous pourrez m'aider sur ce sujet

Mercii

Bonjour angelehen

Je suis étonné que votre fonction puisse fonctionner vous ne retourner pas le NbrCouleur

Voici la fonction modifiée avec un critère en plus

Function CompterCouleur(PlageCouleur As Range, Couleur As Range, sCrit As String)
  Dim NbCouleur As Integer
  Dim Cel As Range
  For Each Cel In PlageCouleur
    If Cel.Interior.ColorIndex = Couleur.Interior.ColorIndex And _
      InStr(1, Cel, sCrit) > 0 Then NbCouleur = NbCouleur + 1
  Next Cel
  ' Retourner le nombre de couleur
  CompterCouleur = NbCouleur
End Function

A+

Bonjour,

merci de votre retour,

En revanche cette nouvelle fonction m'affiche un erreur que je n'avais pas avant.

Le réel sujet de mon problème ne vient pas réellement de cette fonction mais de la manière de l'associer avec un critère sur les chaines de caractères.

Pourriez-vous m'aider sur ce sujet?

Vous remerciant par avance

J'ai essayé cette fonction qui me permet de me renvoyer le nombre correspondant à la couleur et cela fonctionne correctement.

Function couleur(Cellule As Range)
Application.Volatile
couleur = Cellule.Interior.ColorIndex
End Function

En revanche lorsque je l'associe de cette manière:

NB.SI(plage de valeurs;couleur((ma case colorée en rouge))

ca me retourne 0 alors que j'ai plusieurs cellule colorées en rouge dans ma plage de valeurs

Bonjour Angelehen

La fonction que je vous ai donnée ne retourne pas d'erreur si elle est utilisée comme souhaité

19angelehen-test.xlsm (15.86 Ko)

A+

Rechercher des sujets similaires à "fonction couleur ens"