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

Dénombrer les cellules colorées d'une plage

11 réponses
Avatar
Versatile
Bonjour,
Sauriez-vous s'il est possible de d=E9nombrer les cellules color=E9es dans
leur arri=E8re plan d'une plage en utilisant seulement les formules
d'Excel ?
Je sais que cela est possible avec macros, mais avec les seules
formules d'Excel 2000 =E0 2002 ?
Merci beaucoup !

10 réponses

1 2
Avatar
Patrick BASTARD
Bonjour, "Versatile"

Si la coloration répond à une logique, ce serait bien le diable qu'on ne
trouve pas une solution.
Encore faut-il que nous connaissions cette logique...
Un fichier joint, ou un p'tit exemple ?


--
Bien ,

Patrick


Bonjour,
Sauriez-vous s'il est possible de dénombrer les cellules colorées dans
leur arrière plan d'une plage en utilisant seulement les formules
d'Excel ?
Je sais que cela est possible avec macros, mais avec les seules
formules d'Excel 2000 à 2002 ?
Merci beaucoup !
Avatar
Versatile
Si la coloration répond à une logique, ce serait bien le diable qu'on ne
trouve pas une solution.
Encore faut-il que nous connaissions cette logique...
Un fichier joint, ou un p'tit exemple ?



Eh bien voilà. J'ai une collègue qui a un fichier où en colonne A se
trouvent les jours du mois X, et en colonne B de tierces personnes
insèrent une couleur de fond pour le cas où une activité d'un certain
rype est prévue pour ce jour là. Exemple :
Colonne A Colonne B
Ligne 1 1er janv.
Ligne 2 2 janv. (cellule à colorer)
....
Ligne 20 Somme des cellules colorées =
Je souhaiterais additionner en bas de la colonne B toutes les cellules
qui comportent une couleur de fond au dessus-d'elle. Une espèce de
NB.cellule_colorée....
Avatar
Patrick BASTARD
Re, "Versatile"

La solution consiste à renseigner le "certain type" d'activité en colonne B
(par exemple à l'aide d'une liste de validation), et d'utiliser la mise en
forme conditionnelle pour colorier les cellules concernées.
Une simple formule nb.si permettra de dénombrer le nb de cellules
remplissant la condition choisie..

--
Bien ,

Patrick



Si la coloration répond à une logique, ce serait bien le diable qu'on ne
trouve pas une solution.
Encore faut-il que nous connaissions cette logique...
Un fichier joint, ou un p'tit exemple ?



Eh bien voilà. J'ai une collègue qui a un fichier où en colonne A se
trouvent les jours du mois X, et en colonne B de tierces personnes
insèrent une couleur de fond pour le cas où une activité d'un certain
rype est prévue pour ce jour là. Exemple :
Colonne A Colonne B
Ligne 1 1er janv.
Ligne 2 2 janv. (cellule à colorer)
....
Ligne 20 Somme des cellules colorées Je souhaiterais additionner en bas de la colonne B toutes les cellules
qui comportent une couleur de fond au dessus-d'elle. Une espèce de
NB.cellule_colorée....
Avatar
michdenis
Bonjour,

Copie cette fonction personnalisée dans un module standard
de ton classeur.
Dans la cellule de ta feuille de calcul où tu veux afficher le résultat,
tu saisis la formule suivante : = SumCouleur(A1:A10;A1)

A ) tout le contenu de la plage A1:A10 doit être numérique dans
un format de cellule "Standard" ou numérique. A1:A10 est la
plage à additionner.
B ) le paramètre A1 représente une cellule ayant la couleur de fond
dont tu veux additionner dans la plage A1:A10

ATTENTION : Si tu modifies manuellement la couleur de fond d'une
cellule, tu dois utiliser la touche F9 pour mettre ta formule à jour.

'----------------------------------
Function SumCouleur(SumPlage As Range, CouleurEtalon As Range)
Application.Volatile
Dim C As Range
For Each C In SumPlage
If C.Interior.Color = CouleurEtalon.Interior.Color Then
SumCouleur = SumCouleur + C.Value
End If
Next
End Function
'----------------------------------




"Versatile" a écrit dans le message de groupe de discussion :

Bonjour,
Sauriez-vous s'il est possible de dénombrer les cellules colorées dans
leur arrière plan d'une plage en utilisant seulement les formules
d'Excel ?
Je sais que cela est possible avec macros, mais avec les seules
formules d'Excel 2000 à 2002 ?
Merci beaucoup !
Avatar
Versatile
Bonjour,

Copie cette fonction personnalis e dans un module standard
de ton classeur.
Dans la cellule de ta feuille de calcul o tu veux afficher le r sultat,
tu saisis la formule suivante : = SumCouleur(A1:A10;A1)

A ) tout le contenu de la plage A1:A10 doit tre num rique dans
un format de cellule "Standard" ou num rique. A1:A10 est la
plage additionner.
B ) le param tre A1 repr sente une cellule ayant la couleur de fond
dont tu veux additionner dans la plage A1:A10

ATTENTION : Si tu modifies manuellement la couleur de fond d'une
cellule, tu dois utiliser la touche F9 pour mettre ta formule jour.

'----------------------------------
Function SumCouleur(SumPlage As Range, CouleurEtalon As Range)
Application.Volatile
Dim C As Range
For Each C In SumPlage
    If C.Interior.Color = CouleurEtalon.Interior.Color Then
        SumCouleur = SumCouleur + C.Value
    End If
Next
End Function
'----------------------------------



Merci bien. J'aurais espéré que l'on puisse éviter les macros et se
satisfaire des formules. Bon bien tant pis.
Et merci pour la macro.
Avatar
Patrick BASTARD
Re,Versatile"

J'aurais espéré que l'on puisse éviter les macros et se satisfaire des
formules.



Le fait qu'on puisse utiliser les macros n'implique pas forcément qu'on ne
puisse pas s'en passer...

--
Bien ,

Patrick
patrick.bastardchezdbmail.com
Avatar
michdenis
Tu peux le faire sans VBA.

A ) D'abord, tu crées un nom (insertion / nom / définir)
Supposons "Denis"
Et tu lui affectes fait référence à : = Lire.Cellule(63;$A1)

B ) Supposons que tu veuilles additionner la plage A1:A10
Dans la colonne B1:B10, tu copies : = denis
la valeur retournée par la formule est la propriété "ColorIndex"
de la couleur de fond de la cellule

C ) Dans la cellule où tu veux dénombrer le nombre de cellules d'une
couleur particulière, tu inscris : = Nb.Si(A1:A10;6)
le chiffre 6 étant l'index de la couleur

D ) si tu préfères avoir la somme des cellules pour une couleur particulière :
=SOMME.SI(B1:B10;6;A1:A10)
Et tu peux masquer la colonne B:B




"Versatile" a écrit dans le message de groupe de discussion :

Bonjour,

Copie cette fonction personnalis e dans un module standard
de ton classeur.
Dans la cellule de ta feuille de calcul o tu veux afficher le r sultat,
tu saisis la formule suivante : = SumCouleur(A1:A10;A1)

A ) tout le contenu de la plage A1:A10 doit tre num rique dans
un format de cellule "Standard" ou num rique. A1:A10 est la
plage additionner.
B ) le param tre A1 repr sente une cellule ayant la couleur de fond
dont tu veux additionner dans la plage A1:A10

ATTENTION : Si tu modifies manuellement la couleur de fond d'une
cellule, tu dois utiliser la touche F9 pour mettre ta formule jour.

'----------------------------------
Function SumCouleur(SumPlage As Range, CouleurEtalon As Range)
Application.Volatile
Dim C As Range
For Each C In SumPlage
If C.Interior.Color = CouleurEtalon.Interior.Color Then
SumCouleur = SumCouleur + C.Value
End If
Next
End Function
'----------------------------------



Merci bien. J'aurais espéré que l'on puisse éviter les macros et se
satisfaire des formules. Bon bien tant pis.
Et merci pour la macro.
Avatar
Versatile
On 7 avr, 16:31, "michdenis" wrote:
Tu peux le faire sans VBA.

A ) D'abord, tu crées un nom (insertion / nom / définir)
    Supposons "Denis"
    Et tu lui affectes fait référence à :  = Lire.Cellule(6 3;$A1)

B ) Supposons que tu veuilles additionner la plage A1:A10
    Dans la colonne B1:B10, tu copies :  = denis
    la valeur retournée par la formule est la propriété "ColorI ndex"
    de la couleur de fond de la cellule

C ) Dans la cellule où tu veux dénombrer le nombre de cellules d'une
    couleur particulière, tu inscris :  = Nb.Si(A1:A10;6)
    le chiffre 6 étant l'index de la couleur

D ) si tu préfères avoir la somme des cellules pour une couleur parti culière :
        =SOMME.SI(B1:B10;6;A1:A10)
    Et tu peux masquer la colonne B:B



C'est assez génial cette astuce ! Je ne connaissais absolument pas
cette fonction Lire.cellule !....
Merci !
Avatar
michdenis
| C'est assez génial cette astuce ! Je ne connaissais
| absolument pas cette fonction Lire.cellule !....

C'est une fonction appartient aux macro xl4 que l'on
peut encore utiliser avec Excel 2007 dans un "nom"
seulement pour l'interface de calcul ou en VBA.
Avatar
Versatile
C'est une fonction appartient aux macro xl4 que l'on
peut encore utiliser avec Excel 2007 dans un "nom"
seulement pour l'interface de calcul ou en VBA.



Et quel est son nom en vba ?
Syntaxe du genre suivant ?
x = xlm.read.cell(63,"A1")
1 2