Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MFC compte couleur

12 réponses
Avatar
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

10 réponses

1 2
Avatar
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



Avatar
Jacquouille
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" a écrit dans le message 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





Avatar
Jacky
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" a écrit dans le message 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





Avatar
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" a écrit dans le message 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
>>





Avatar
Jacky
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" a écrit dans le message de 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" a écrit dans le message 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
>>







Avatar
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" a écrit dans le message de 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" a écrit dans le message 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
>> >>
>>
>>
>>





Avatar
Jacky
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" a écrit dans le message de 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" a écrit dans le message de
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" a écrit dans le message 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
>> >>
>>
>>
>>







Avatar
Gildo
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" a écrit dans le message de 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" a écrit dans le message de
>> 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" a écrit dans le message 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
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>





Avatar
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" a écrit dans le message de 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" a écrit dans le message de
>> 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" a écrit dans le message 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
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>





Avatar
Jacky
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" a écrit dans le message de news:

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" a écrit dans le message de
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" a écrit dans le message de
>> 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" a écrit dans le message
>> >> 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
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>







1 2