OVH Cloud OVH Cloud

Compter cellules couleur

13 réponses
Avatar
Charles
Bonjour !

Petite question : peut-on compter avec la fonction NB.SI=20
(donc pas avec de macro) les cases d'une certaine=20
couleur ?!
genre NB.SI (plage;Interior.ColorIndex =3D 40) mais=20
l'=E9quivalent sous excel de Interior.ColorIndex ! Est-ce=20
possible ?!

Merci d'avance et bonne journ=E9e !!!

3 réponses

1 2
Avatar
Charles
Excuse moi là mais je ne pige rien. En quoi la formule va
permettre de compter le nombre de cellules de telle
couleur sur une plage donnée ?! Il n'y a pas d'entrée de
code couleur !

-----Message d'origine-----
Re,

Si la couleur correspond effectivement à une condition
(en particulier utilisation d'une

mise en forme conditionnelle ou MEFC), on peut utiliser
celle-ci.


Si NB.SI() ne convient pas, SOMMEPROD() fera l'affaire :

Par exemple utilisation de la condition

=MOD(LIGNE();2) = 0

pour avoir une couleur de fond dans une plage pour les
cellules avec un numéro de ligne pair


La formule

=SOMMEPROD((MOD(LIGNE(A1:A8);2) = 0) * 1)

à valider en matricielle indique le nombre de cellules
colorées par la MEFC dans le plage

A1:A8, soit 4.



Merci mais la condition ne permet pas de compter le
nombre


de cellules de telle couleur.

-----Message d'origine-----
Bonjour,

Si les cellules sont colorées suivant une condition
alors



utiliser cette conditon dans le Nb.Si comme critère.

Camille

-----Message d'origine-----
Bonjour !

Petite question : peut-on compter avec la fonction
NB.SI




(donc pas avec de macro) les cases d'une certaine
couleur ?!
genre NB.SI (plage;Interior.ColorIndex = 40) mais
l'équivalent sous excel de Interior.ColorIndex ! Est-
ce




possible ?!

Merci d'avance et bonne journée !!!
.

.





--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.






Avatar
Charles
Très bien, je te remercie beaucoup.

-----Message d'origine-----
Re,

Extrait de l'aide de Volatile :

Marque comme volatile une fonction personnalisée.
Une fonction volatile doit être

recalculée chaque fois qu'un calcul est effectué
dans une cellule quelconque de la

feuille de calcul. Une fonction non volatile n'est
recalculée qu'en cas de changement


des variables d'entrée.

Donc, même avec Volatile, un recalcul est nécessaire, un
simple changement de couleur

manuel ne peut suffire.

La seule solution, selon moi, est de lancer une macro qui
enchaîne la mise en couleur et

la mise à jour du décompte. Tu pourrais affecter cette
macro à un bouton.




Pas de problème, je comprends très bien ;-)

Ma fonction compte le nombre de cellules on va dire
rouge


d'une plage. J'aimerais que dès que je colore une
nouvelle


case en rouge, il actualise et donne le nouveau bon
résultat. Or avec Volatile, il faut modifier une case
(n'importe laquelle) pour que ça actualise. Comment
faire ?

-----Message d'origine-----
Re,

Désolé, les vacances m'ont rouillé ;-((

La bonne syntaxe est effectivement

Application.Volatile suivi de True ou de False

True est la valeur par défaut, et donc

Application.Volatile

sans argument suffit.

Encore désolé.



avec le signe =, ça ne marche pas.

Une chose étrange, c'est que lorsque j'utilise la
fonction, il me met un message "Type incompatible"
mais




calcule quand même correctement !

-----Message d'origine-----
Bonjour,

Dans l'exemple de code qui t'a été proposé, il y a
une





erreur de syntaxe:
L'affectation d'une valeur à une propriété
nécessite le





signe "égale".

Application.Volatile = True

et non

Application.Volatile True




Merci beaucoup !
Mais pour qu'il actualise automatiquement ? Je
croyais




que
Application.Volatile était pour ça , mais je suis
obligé




de rentrer dans la cellule , d'appuyer Entrée pour
actualiser !
Merci

-----Message d'origine-----
J'utilise ça :
cela ne compte pas les nombre de cellules
coloriées,







mais
cela fait la somme
des cellules coloriées.
mais il y a surement moyen de modifier..

Tu place ce code dans un module :
Function sommesitoute(myCells)
Application.Volatile True
sommesitoute = 0
For Each cel In myCells
If cel.Interior.ColorIndex > 0 Then
sommesitoute =







sommesitoute +
cel.Value
Next
End Function


Ensuite dans ta feuille tu tape : sommesitoute
(plage)





tu note à la place de plage la sélection
(attention, pour que le total soit mis à jour il
faut





qu'il y ait un calcul
de ta feuille)
(le fait de mettre une cellule en couleur de
relane







pas
le calcul de la part
de Excel)


"Charles" a écrit dans le
message



de
news:04b501c3705e$e5274a60$
Bonjour !

Petite question : peut-on compter avec la
fonction







NB.SI
(donc pas avec de macro) les cases d'une certaine
couleur ?!
genre NB.SI (plage;Interior.ColorIndex = 40) mais
l'équivalent sous excel de Interior.ColorIndex !
Est-ce





possible ?!

Merci d'avance et bonne journée !!!


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com










Avatar
Michel Gaboly
Re,

Ce n'est possible que si la couleur n'est pas choisie manuellement,
mais résulte d'une option de mise en formeconditionnelle (MEFC),
dans le menu "Format".

Indépendamment de ta question, si tu ne connais pas le MEFC, regarde
l'aide. Cela peut probablement t'intéresser.

Pour arriver simplement à l'aide, choisie "Mise en forme conditionelle..."
dans le menu "Format", et clique sur le bouton d'aide (avec un point d'inter-
rogation).


Excuse moi là mais je ne pige rien. En quoi la formule va
permettre de compter le nombre de cellules de telle
couleur sur une plage donnée ?! Il n'y a pas d'entrée de
code couleur !

-----Message d'origine-----
Re,

Si la couleur correspond effectivement à une condition
(en particulier utilisation d'une

mise en forme conditionnelle ou MEFC), on peut utiliser
celle-ci.


Si NB.SI() ne convient pas, SOMMEPROD() fera l'affaire :

Par exemple utilisation de la condition

=MOD(LIGNE();2) = 0

pour avoir une couleur de fond dans une plage pour les
cellules avec un numéro de ligne pair


La formule

=SOMMEPROD((MOD(LIGNE(A1:A8);2) = 0) * 1)

à valider en matricielle indique le nombre de cellules
colorées par la MEFC dans le plage

A1:A8, soit 4.



Merci mais la condition ne permet pas de compter le
nombre


de cellules de telle couleur.

-----Message d'origine-----
Bonjour,

Si les cellules sont colorées suivant une condition
alors



utiliser cette conditon dans le Nb.Si comme critère.

Camille

-----Message d'origine-----
Bonjour !

Petite question : peut-on compter avec la fonction
NB.SI




(donc pas avec de macro) les cases d'une certaine
couleur ?!
genre NB.SI (plage;Interior.ColorIndex = 40) mais
l'équivalent sous excel de Interior.ColorIndex ! Est-
ce




possible ?!

Merci d'avance et bonne journée !!!
.

.





--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com





1 2