MFC compte couleur

Le
Gildo
Bonjour,
j’utilise ce code emprunté sur le site pour compter les cellules de couleur
ça marche mais cela ne compte pas les cellules colorées par MFC il y a t’il
une soluce ?

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

Dans le tableur:

=CompteCouleurFond2(A1:A12;D1
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gildo
Le #7054271
Juste une précision ma MFC est celle-ci:
=ET(+C1 >39588,99999;H1="Ok")

"Gildo" a écrit :

Bonjour,
j’utilise ce code emprunté sur le site pour compter les cellules de couleur
ça marche mais cela ne compte pas les cellules colorées par MFC il y a t’il
une soluce ?

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

Dans le tableur:

=CompteCouleurFond2(A1:A12;D1



Jacquouille
Le #7054881
Bonjour
Je ne pense pas que Excel compte les couleurs issues d'une MEFC.
Il te suffirait d'ajouter à ta macro le code de ta MEFC.(qui n'est rien
d'autre qu'un If.....then colorie la cel.)
Bonne chance

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Gildo"
Juste une précision ma MFC est celle-ci:
=ET(+C1 >39588,99999;H1="Ok")

"Gildo" a écrit :

Bonjour,
j'utilise ce code emprunté sur le site pour compter les cellules de
couleur
ça marche mais cela ne compte pas les cellules colorées par MFC il y a t'il
une soluce ?

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

Dans le tableur:

=CompteCouleurFond2(A1:A12;D1





Jacky
Le #7054991
Bonjour,

Uitlise la même condition que pour la MFC
'--------------
Function CompteCouleurFond2(champ As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In [champ]
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then temp =
temp + 1
Next c
CompteCouleurFond2 = temp
End Function
'-----------------

--
Salutations
JJ


"Gildo"
Juste une précision ma MFC est celle-ci:
=ET(+C1 >39588,99999;H1="Ok")

"Gildo" a écrit :

Bonjour,
j'utilise ce code emprunté sur le site pour compter les cellules de
couleur
ça marche mais cela ne compte pas les cellules colorées par MFC il y a t'il
une soluce ?

Function CompteCouleurFond2(champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
cf = couleurfond.Interior.Color
For Each c In champ
If c.Interior.Color = cf Then
temp = temp + 1
End If
Next c
CompteCouleurFond2 = temp
End Function

Dans le tableur:

=CompteCouleurFond2(A1:A12;D1





Gildo
Le #7055391
Bonjour et merci ,

quand je compile le code ainsi modifié cela me dit Next sans for
Pige pas
Function CompteCouleurFond2(champ As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In [champ]
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
temp = temp + 1
Next c
CompteCouleurFond2 = temp
End Function

"Jacky" a écrit :

Bonjour,

Uitlise la même condition que pour la MFC
'--------------
Function CompteCouleurFond2(champ As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In [champ]
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then temp =
temp + 1
Next c
CompteCouleurFond2 = temp
End Function
'-----------------

--
Salutations
JJ


"Gildo"
> Juste une précision ma MFC est celle-ci:
> =ET(+C1 >39588,99999;H1="Ok")
>
> "Gildo" a écrit :
>
>> Bonjour,
>> j'utilise ce code emprunté sur le site pour compter les cellules de
>> couleur
>> ça marche mais cela ne compte pas les cellules colorées par MFC il y a t'il
>> une soluce ?
>>
>> Function CompteCouleurFond2(champ As Range, couleurfond As Range)
>> Application.Volatile
>> Dim c, temp
>> temp = 0
>> cf = couleurfond.Interior.Color
>> For Each c In champ
>> If c.Interior.Color = cf Then
>> temp = temp + 1
>> End If
>> Next c
>> CompteCouleurFond2 = temp
>> End Function
>>
>> Dans le tableur:
>>
>> =CompteCouleurFond2(A1:A12;D1
>>





Jacky
Le #7055381
Re...
Ceci doit être saisie sur une seule ligne
'---------
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
temp = temp + 1
'----------

--
Salutations
JJ


"Gildo"
Bonjour et merci ,

quand je compile le code ainsi modifié cela me dit Next sans for
Pige pas
Function CompteCouleurFond2(champ As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In [champ]
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
temp = temp + 1
Next c
CompteCouleurFond2 = temp
End Function

"Jacky" a écrit :

Bonjour,

Uitlise la même condition que pour la MFC
'--------------
Function CompteCouleurFond2(champ As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In [champ]
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
temp >> temp + 1
Next c
CompteCouleurFond2 = temp
End Function
'-----------------

--
Salutations
JJ


"Gildo" news:

> Juste une précision ma MFC est celle-ci:
> =ET(+C1 >39588,99999;H1="Ok")
>
> "Gildo" a écrit :
>
>> Bonjour,
>> j'utilise ce code emprunté sur le site pour compter les cellules de
>> couleur
>> ça marche mais cela ne compte pas les cellules colorées par MFC il y a
>> t'il
>> une soluce ?
>>
>> Function CompteCouleurFond2(champ As Range, couleurfond As Range)
>> Application.Volatile
>> Dim c, temp
>> temp = 0
>> cf = couleurfond.Interior.Color
>> For Each c In champ
>> If c.Interior.Color = cf Then
>> temp = temp + 1
>> End If
>> Next c
>> CompteCouleurFond2 = temp
>> End Function
>>
>> Dans le tableur:
>>
>> =CompteCouleurFond2(A1:A12;D1
>>







Gildo
Le #7055561
Plus de message à la compile c'est Ok

On va y arrivier, j'ai donc mis cette fonction dans la cellule I1
cela me renvoie #VALEUR!
=CompteCouleurFond2(C5:C1000;D1)
J'enlève D1 qui n'a plus lieu d'être il me semble
cela me renvoie 0 occurence
=CompteCouleurFond2(C5:C1000)
c'est peu être lié au fait que 39588.99999 est un date ?


"Jacky" wrote:

Re...
Ceci doit être saisie sur une seule ligne
'---------
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
temp = temp + 1
'----------

--
Salutations
JJ


"Gildo"
> Bonjour et merci ,
>
> quand je compile le code ainsi modifié cela me dit Next sans for
> Pige pas
> Function CompteCouleurFond2(champ As Range)
> Application.Volatile
> Dim c, temp
> temp = 0
> For Each c In [champ]
> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
> temp = temp + 1
> Next c
> CompteCouleurFond2 = temp
> End Function
>
> "Jacky" a écrit :
>
>> Bonjour,
>>
>> Uitlise la même condition que pour la MFC
>> '--------------
>> Function CompteCouleurFond2(champ As Range)
>> Application.Volatile
>> Dim c, temp
>> temp = 0
>> For Each c In [champ]
>> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> temp > >> temp + 1
>> Next c
>> CompteCouleurFond2 = temp
>> End Function
>> '-----------------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Gildo" >> news:
>>
>> > Juste une précision ma MFC est celle-ci:
>> > =ET(+C1 >39588,99999;H1="Ok")
>> >
>> > "Gildo" a écrit :
>> >
>> >> Bonjour,
>> >> j'utilise ce code emprunté sur le site pour compter les cellules de
>> >> couleur
>> >> ça marche mais cela ne compte pas les cellules colorées par MFC il y a
>> >> t'il
>> >> une soluce ?
>> >>
>> >> Function CompteCouleurFond2(champ As Range, couleurfond As Range)
>> >> Application.Volatile
>> >> Dim c, temp
>> >> temp = 0
>> >> cf = couleurfond.Interior.Color
>> >> For Each c In champ
>> >> If c.Interior.Color = cf Then
>> >> temp = temp + 1
>> >> End If
>> >> Next c
>> >> CompteCouleurFond2 = temp
>> >> End Function
>> >>
>> >> Dans le tableur:
>> >>
>> >> =CompteCouleurFond2(A1:A12;D1
>> >>
>>
>>
>>





Jacky
Le #7055681
Re....
c'est peu être lié au fait que 39588.99999 est un date ?


?????
Peux-tu mettre un exemple de ton classeur sur:
http://www.cjoint.com/

--
Salutations
JJ


"Gildo"
Plus de message à la compile c'est Ok

On va y arrivier, j'ai donc mis cette fonction dans la cellule I1
cela me renvoie #VALEUR!
=CompteCouleurFond2(C5:C1000;D1)
J'enlève D1 qui n'a plus lieu d'être il me semble
cela me renvoie 0 occurence
=CompteCouleurFond2(C5:C1000)
c'est peu être lié au fait que 39588.99999 est un date ?


"Jacky" wrote:

Re...
Ceci doit être saisie sur une seule ligne
'---------
If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
temp = temp + 1
'----------

--
Salutations
JJ


"Gildo" news:

> Bonjour et merci ,
>
> quand je compile le code ainsi modifié cela me dit Next sans for
> Pige pas
> Function CompteCouleurFond2(champ As Range)
> Application.Volatile
> Dim c, temp
> temp = 0
> For Each c In [champ]
> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
> temp = temp + 1
> Next c
> CompteCouleurFond2 = temp
> End Function
>
> "Jacky" a écrit :
>
>> Bonjour,
>>
>> Uitlise la même condition que pour la MFC
>> '--------------
>> Function CompteCouleurFond2(champ As Range)
>> Application.Volatile
>> Dim c, temp
>> temp = 0
>> For Each c In [champ]
>> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> temp >> >> temp + 1
>> Next c
>> CompteCouleurFond2 = temp
>> End Function
>> '-----------------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Gildo" >> news:
>>
>> > Juste une précision ma MFC est celle-ci:
>> > =ET(+C1 >39588,99999;H1="Ok")
>> >
>> > "Gildo" a écrit :
>> >
>> >> Bonjour,
>> >> j'utilise ce code emprunté sur le site pour compter les cellules
>> >> de
>> >> couleur
>> >> ça marche mais cela ne compte pas les cellules colorées par MFC il
>> >> y a
>> >> t'il
>> >> une soluce ?
>> >>
>> >> Function CompteCouleurFond2(champ As Range, couleurfond As Range)
>> >> Application.Volatile
>> >> Dim c, temp
>> >> temp = 0
>> >> cf = couleurfond.Interior.Color
>> >> For Each c In champ
>> >> If c.Interior.Color = cf Then
>> >> temp = temp + 1
>> >> End If
>> >> Next c
>> >> CompteCouleurFond2 = temp
>> >> End Function
>> >>
>> >> Dans le tableur:
>> >>
>> >> =CompteCouleurFond2(A1:A12;D1
>> >>
>>
>>
>>







Gildo
Le #7055761
Merci de ton attention
Voilà j'ai pris les colonnes concernées
http://cjoint.com/?gup7P6KChX

"Jacky" wrote:

Re....
> c'est peu être lié au fait que 39588.99999 est un date ?
?????
Peux-tu mettre un exemple de ton classeur sur:
http://www.cjoint.com/

--
Salutations
JJ


"Gildo"
> Plus de message à la compile c'est Ok
>
> On va y arrivier, j'ai donc mis cette fonction dans la cellule I1
> cela me renvoie #VALEUR!
> =CompteCouleurFond2(C5:C1000;D1)
> J'enlève D1 qui n'a plus lieu d'être il me semble
> cela me renvoie 0 occurence
> =CompteCouleurFond2(C5:C1000)
> c'est peu être lié au fait que 39588.99999 est un date ?
>
>
> "Jacky" wrote:
>
>> Re...
>> Ceci doit être saisie sur une seule ligne
>> '---------
>> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> temp = temp + 1
>> '----------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Gildo" >> news:
>>
>> > Bonjour et merci ,
>> >
>> > quand je compile le code ainsi modifié cela me dit Next sans for
>> > Pige pas
>> > Function CompteCouleurFond2(champ As Range)
>> > Application.Volatile
>> > Dim c, temp
>> > temp = 0
>> > For Each c In [champ]
>> > If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> > temp = temp + 1
>> > Next c
>> > CompteCouleurFond2 = temp
>> > End Function
>> >
>> > "Jacky" a écrit :
>> >
>> >> Bonjour,
>> >>
>> >> Uitlise la même condition que pour la MFC
>> >> '--------------
>> >> Function CompteCouleurFond2(champ As Range)
>> >> Application.Volatile
>> >> Dim c, temp
>> >> temp = 0
>> >> For Each c In [champ]
>> >> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> >> temp > >> >> temp + 1
>> >> Next c
>> >> CompteCouleurFond2 = temp
>> >> End Function
>> >> '-----------------
>> >>
>> >> --
>> >> Salutations
>> >> JJ
>> >>
>> >>
>> >> "Gildo" >> >> news:
>> >>
>> >> > Juste une précision ma MFC est celle-ci:
>> >> > =ET(+C1 >39588,99999;H1="Ok")
>> >> >
>> >> > "Gildo" a écrit :
>> >> >
>> >> >> Bonjour,
>> >> >> j'utilise ce code emprunté sur le site pour compter les cellules
>> >> >> de
>> >> >> couleur
>> >> >> ça marche mais cela ne compte pas les cellules colorées par MFC il
>> >> >> y a
>> >> >> t'il
>> >> >> une soluce ?
>> >> >>
>> >> >> Function CompteCouleurFond2(champ As Range, couleurfond As Range)
>> >> >> Application.Volatile
>> >> >> Dim c, temp
>> >> >> temp = 0
>> >> >> cf = couleurfond.Interior.Color
>> >> >> For Each c In champ
>> >> >> If c.Interior.Color = cf Then
>> >> >> temp = temp + 1
>> >> >> End If
>> >> >> Next c
>> >> >> CompteCouleurFond2 = temp
>> >> >> End Function
>> >> >>
>> >> >> Dans le tableur:
>> >> >>
>> >> >> =CompteCouleurFond2(A1:A12;D1
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>





Gildo
Le #7055751
J'ai oublié de remettre la MFC
=ET(+C2 >39588,99999;H2="Ok")

"Jacky" wrote:

Re....
> c'est peu être lié au fait que 39588.99999 est un date ?
?????
Peux-tu mettre un exemple de ton classeur sur:
http://www.cjoint.com/

--
Salutations
JJ


"Gildo"
> Plus de message à la compile c'est Ok
>
> On va y arrivier, j'ai donc mis cette fonction dans la cellule I1
> cela me renvoie #VALEUR!
> =CompteCouleurFond2(C5:C1000;D1)
> J'enlève D1 qui n'a plus lieu d'être il me semble
> cela me renvoie 0 occurence
> =CompteCouleurFond2(C5:C1000)
> c'est peu être lié au fait que 39588.99999 est un date ?
>
>
> "Jacky" wrote:
>
>> Re...
>> Ceci doit être saisie sur une seule ligne
>> '---------
>> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> temp = temp + 1
>> '----------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Gildo" >> news:
>>
>> > Bonjour et merci ,
>> >
>> > quand je compile le code ainsi modifié cela me dit Next sans for
>> > Pige pas
>> > Function CompteCouleurFond2(champ As Range)
>> > Application.Volatile
>> > Dim c, temp
>> > temp = 0
>> > For Each c In [champ]
>> > If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> > temp = temp + 1
>> > Next c
>> > CompteCouleurFond2 = temp
>> > End Function
>> >
>> > "Jacky" a écrit :
>> >
>> >> Bonjour,
>> >>
>> >> Uitlise la même condition que pour la MFC
>> >> '--------------
>> >> Function CompteCouleurFond2(champ As Range)
>> >> Application.Volatile
>> >> Dim c, temp
>> >> temp = 0
>> >> For Each c In [champ]
>> >> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> >> temp > >> >> temp + 1
>> >> Next c
>> >> CompteCouleurFond2 = temp
>> >> End Function
>> >> '-----------------
>> >>
>> >> --
>> >> Salutations
>> >> JJ
>> >>
>> >>
>> >> "Gildo" >> >> news:
>> >>
>> >> > Juste une précision ma MFC est celle-ci:
>> >> > =ET(+C1 >39588,99999;H1="Ok")
>> >> >
>> >> > "Gildo" a écrit :
>> >> >
>> >> >> Bonjour,
>> >> >> j'utilise ce code emprunté sur le site pour compter les cellules
>> >> >> de
>> >> >> couleur
>> >> >> ça marche mais cela ne compte pas les cellules colorées par MFC il
>> >> >> y a
>> >> >> t'il
>> >> >> une soluce ?
>> >> >>
>> >> >> Function CompteCouleurFond2(champ As Range, couleurfond As Range)
>> >> >> Application.Volatile
>> >> >> Dim c, temp
>> >> >> temp = 0
>> >> >> cf = couleurfond.Interior.Color
>> >> >> For Each c In champ
>> >> >> If c.Interior.Color = cf Then
>> >> >> temp = temp + 1
>> >> >> End If
>> >> >> Next c
>> >> >> CompteCouleurFond2 = temp
>> >> >> End Function
>> >> >>
>> >> >> Dans le tableur:
>> >> >>
>> >> >> =CompteCouleurFond2(A1:A12;D1
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>





Jacky
Le #7055921
Re..
Pas vraiment besoin de fonction personnalisée
=SOMMEPROD((C5:C338>9588,99999)*(H5:H338="ok"))
Voir ici
http://cjoint.com/?guqLOSIcpx
--
Salutations
JJ


"Gildo"
J'ai oublié de remettre la MFC
=ET(+C2 >39588,99999;H2="Ok")

"Jacky" wrote:

Re....
> c'est peu être lié au fait que 39588.99999 est un date ?
?????
Peux-tu mettre un exemple de ton classeur sur:
http://www.cjoint.com/

--
Salutations
JJ


"Gildo" news:

> Plus de message à la compile c'est Ok
>
> On va y arrivier, j'ai donc mis cette fonction dans la cellule I1
> cela me renvoie #VALEUR!
> =CompteCouleurFond2(C5:C1000;D1)
> J'enlève D1 qui n'a plus lieu d'être il me semble
> cela me renvoie 0 occurence
> =CompteCouleurFond2(C5:C1000)
> c'est peu être lié au fait que 39588.99999 est un date ?
>
>
> "Jacky" wrote:
>
>> Re...
>> Ceci doit être saisie sur une seule ligne
>> '---------
>> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> temp = temp + 1
>> '----------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Gildo" >> news:
>>
>> > Bonjour et merci ,
>> >
>> > quand je compile le code ainsi modifié cela me dit Next sans for
>> > Pige pas
>> > Function CompteCouleurFond2(champ As Range)
>> > Application.Volatile
>> > Dim c, temp
>> > temp = 0
>> > For Each c In [champ]
>> > If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK" Then
>> > temp = temp + 1
>> > Next c
>> > CompteCouleurFond2 = temp
>> > End Function
>> >
>> > "Jacky" a écrit :
>> >
>> >> Bonjour,
>> >>
>> >> Uitlise la même condition que pour la MFC
>> >> '--------------
>> >> Function CompteCouleurFond2(champ As Range)
>> >> Application.Volatile
>> >> Dim c, temp
>> >> temp = 0
>> >> For Each c In [champ]
>> >> If IsNumeric(c) And c >= 39588.99999 And UCase([H1]) = "OK"
>> >> Then
>> >> temp >> >> >> temp + 1
>> >> Next c
>> >> CompteCouleurFond2 = temp
>> >> End Function
>> >> '-----------------
>> >>
>> >> --
>> >> Salutations
>> >> JJ
>> >>
>> >>
>> >> "Gildo" >> >> de
>> >> news:
>> >>
>> >> > Juste une précision ma MFC est celle-ci:
>> >> > =ET(+C1 >39588,99999;H1="Ok")
>> >> >
>> >> > "Gildo" a écrit :
>> >> >
>> >> >> Bonjour,
>> >> >> j'utilise ce code emprunté sur le site pour compter les
>> >> >> cellules
>> >> >> de
>> >> >> couleur
>> >> >> ça marche mais cela ne compte pas les cellules colorées par MFC
>> >> >> il
>> >> >> y a
>> >> >> t'il
>> >> >> une soluce ?
>> >> >>
>> >> >> Function CompteCouleurFond2(champ As Range, couleurfond As
>> >> >> Range)
>> >> >> Application.Volatile
>> >> >> Dim c, temp
>> >> >> temp = 0
>> >> >> cf = couleurfond.Interior.Color
>> >> >> For Each c In champ
>> >> >> If c.Interior.Color = cf Then
>> >> >> temp = temp + 1
>> >> >> End If
>> >> >> Next c
>> >> >> CompteCouleurFond2 = temp
>> >> >> End Function
>> >> >>
>> >> >> Dans le tableur:
>> >> >>
>> >> >> =CompteCouleurFond2(A1:A12;D1
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>







Publicité
Poster une réponse
Anonyme