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
Re... Attention, j'ai mis ">=", je crois que tu ne veux pas de l'égalité, donc: =SOMMEPROD((C5:C338>39588,99999)*(H5:H338="ok"))
-- Salutations JJ
"Jacky" a écrit dans le message de news:
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 >> >> >> >> >> >> >> >> >> >> >> >>
Re...
Attention, j'ai mis ">=", je crois que tu ne veux pas de l'égalité,
donc:
=SOMMEPROD((C5:C338>39588,99999)*(H5:H338="ok"))
--
Salutations
JJ
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
uhu5UNu0IHA.1240@TK2MSFTNGP02.phx.gbl...
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" <Gildo@discussions.microsoft.com> a écrit dans le message de news:
295B4476-DF3C-4C38-9B6E-76A114D87B7E@microsoft.com...
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" <Gildo@discussions.microsoft.com> a écrit dans le message de
news:
B3C443C4-0654-4FA3-B02E-F475D0726F0A@microsoft.com...
> 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" <Gildo@discussions.microsoft.com> a écrit dans le message de
>> news:
>> C7FF31C6-179D-48E8-9696-DB897CA9FC96@microsoft.com...
>> > 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" <Gildo@discussions.microsoft.com> a écrit dans le message
>> >> de
>> >> news:
>> >> BE9F89DF-3D32-4DDB-A579-839C56847EE4@microsoft.com...
>> >> > 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
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>
Re... Attention, j'ai mis ">=", je crois que tu ne veux pas de l'égalité, donc: =SOMMEPROD((C5:C338>39588,99999)*(H5:H338="ok"))
-- Salutations JJ
"Jacky" a écrit dans le message de news:
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 >> >> >> >> >> >> >> >> >> >> >> >>
Gildo
Comme quoi des fois on se fait des noeuds! Bel exemple de toutes les solutions possibles ! Merci encore de ton aide.
"Jacky" wrote:
Re... Attention, j'ai mis ">=", je crois que tu ne veux pas de l'égalité, donc: =SOMMEPROD((C5:C338>39588,99999)*(H5:H338="ok"))
-- Salutations JJ
"Jacky" a écrit dans le message de news:
> 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 >>> >> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >>> >> >>> >> >>> >>> >>> > > >
Comme quoi des fois on se fait des noeuds!
Bel exemple de toutes les solutions possibles !
Merci encore de ton aide.
"Jacky" wrote:
Re...
Attention, j'ai mis ">=", je crois que tu ne veux pas de l'égalité,
donc:
=SOMMEPROD((C5:C338>39588,99999)*(H5:H338="ok"))
--
Salutations
JJ
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
uhu5UNu0IHA.1240@TK2MSFTNGP02.phx.gbl...
> 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" <Gildo@discussions.microsoft.com> a écrit dans le message de news:
> 295B4476-DF3C-4C38-9B6E-76A114D87B7E@microsoft.com...
>> 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" <Gildo@discussions.microsoft.com> a écrit dans le message de
>>> news:
>>> B3C443C4-0654-4FA3-B02E-F475D0726F0A@microsoft.com...
>>> > 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" <Gildo@discussions.microsoft.com> a écrit dans le message de
>>> >> news:
>>> >> C7FF31C6-179D-48E8-9696-DB897CA9FC96@microsoft.com...
>>> >> > 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" <Gildo@discussions.microsoft.com> a écrit dans le message
>>> >> >> de
>>> >> >> news:
>>> >> >> BE9F89DF-3D32-4DDB-A579-839C56847EE4@microsoft.com...
>>> >> >> > 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
>>> >> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >>
>>> >>
>>> >>
>>>
>>>
>>>
>
>
>
Comme quoi des fois on se fait des noeuds! Bel exemple de toutes les solutions possibles ! Merci encore de ton aide.
"Jacky" wrote:
Re... Attention, j'ai mis ">=", je crois que tu ne veux pas de l'égalité, donc: =SOMMEPROD((C5:C338>39588,99999)*(H5:H338="ok"))
-- Salutations JJ
"Jacky" a écrit dans le message de news:
> 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 >>> >> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >>> >> >>> >> >>> >>> >>> > > >