Comptabiliser cellule de couleur avec tout ou partie d'un texte

Bonjour à Tous

Voici ma fonction:

Je dois comptabiliser des cellules de couleur avec tout ou partie d'un texte.

D'avance merci de votre aide.

Function NbreCellDuty(Plage As Range, Couleur As Byte) As Long
'Compter toutes les cellules  d'une plage de couleur rouge non vide 
'Avoir tout ou partie d'un texte d'une cellule de référence

Application.Volatile

Dim Cellule As Range

For Each Cellule In Plage
If Cellule.Interior.ColorIndex = 3 And Not IsEmpty(Cellule) Then
NbreCellDuty = NbreCellDuty + 1

comment écrire 
"*"&A12&"*"

End If

Next Cellule

End Function
5nbre-duty.xlsm (18.14 Ko)

Bonjour

Peut-être

If Cellule.Interior.ColorIndex = Couleur And Not IsEmpty(Cellule) And Cellule.Value Like "*" & Range("A21") & "*" Then

Cordialement

Merci pour ton retour Amadéeus.

Ai-je bien retranscrit ton code car malheureusement le résultat] est tjrs #VALEUR!

Function NbreCellDuty(Plage As Range, Couleur As Byte) As Long
'Compter toutes les cellules  d'une plage de couleur rouge non vide 
'Avoir tout ou partie d'un texte d'une cellule de référence

Application.Volatile

Dim Cellule As Range

For Each Cellule In Plage
If Cellule.Interior.ColorIndex = Couleur And Not IsEmpty(Cellule) And Cellule.Value Like "*" & Range("A21") & "*" Then
NbreCellDuty = NbreCellDuty + 1

End If

Next Cellule

End Function

D'avance merci de ton aide

4nbre-duty.xlsm (18.64 Ko)

Bonjour

Le fichier avec la correction (Il faut aussi modifier tes formules)

Cordialement

12nbre-duty.xlsm (16.55 Ko)

Grand merci TOI Amadéeus

Cela fait une semaine que je fouille sur le net!

- j'ai un bout de ci un bout de çà mais rien qui veuille fonctionner ensemble !

Je pars de zéro et la tache n'est pas facile, mais c'est stimulant voir aussi énervant

II fallait modifier modifier les formules???

ou ai-je pêché? si tu veux bien encore me consacrer encore un peu de ton temps

Bonjour

A partir du moment ou le Code intègre la condition de contenir le texte de la cellule A21, la formule

=NbreCellDuty(A2:E6;3;"*"&A21&"*")

qui est déjà erronée doit être remplacée par

=NbreCellDuty(A2:E6;3)

Ce qui est fait dans le fichier envoyé.

Cordialement

Re bonsoir Amadéeus.

Merci pour ton explication, de fait cela te permettra de mieux comprendre mon interprétation de:

NbreCellDuty(A2:E6;3;"*"&A21&"*")

En voulant garder cette fonction avec "*"&A21&"*" dans la barre de formule,

l'objectif est de pouvoir l'appliquer aux autres noms et de faire plus rapidement le chgt de plage de cellule.

exemple "*"&A22&"*" pour UNTEL, PASCAL et ainsi de suite.

Faut-il se retrancher sur des formules Excel plutôt que du VBA?

Encore un fois merci pour ta reflexion.

3nbre-duty.xlsm (19.52 Ko)

Bonjour

En fait, ta proposition revient à modifier la cellule cible dans les formules.

Pourquoi ne pas entrer ta recherche dans une cellule de la feuille, qui serait fixe et incluse dans le Code.

Exemple.

Sur ce fichier, j'ai remplacé Range("D21") par un Range("J3"), lequel J3 indique ce que tu recherches.

Et si tes recherches portent sur une liste de noms, tu pourrais améliorer avec une liste déroulante en J3.

Cordialement

6nbre-duty-v2.xlsm (16.60 Ko)
Rechercher des sujets similaires à "comptabiliser couleur tout partie texte"