Compter les cellules en vert
Résolu
vince_nus
-
vince_nus -
vince_nus -
Bonjour,
comment compter et mettre dans une variable sous VBA le nombre de cellules en fond vert sur ma sélection colonne R, de R3 à R500???
je mets en vert (non de la couleur dans la palette) mais je veux compter en macro car comme je fais pas mal de modifs je vais compter à chaque fois, ce sera plus rapide, je clique et hop je rempli une cellule dans un autre onglet!
merci
windows xp, vba excel 2007
comment compter et mettre dans une variable sous VBA le nombre de cellules en fond vert sur ma sélection colonne R, de R3 à R500???
je mets en vert (non de la couleur dans la palette) mais je veux compter en macro car comme je fais pas mal de modifs je vais compter à chaque fois, ce sera plus rapide, je clique et hop je rempli une cellule dans un autre onglet!
merci
windows xp, vba excel 2007
6 réponses
-
bonjour
quelque chose comme ça?
Const clVert = 35 Const plage = "A1:A10" Private Sub CommandButton1_Click() Dim c As Range, nbv As Long nbv = 0 For Each c In Range(plage) If c.Interior.ColorIndex = clVert Then nbv = nbv + 1 Next MsgBox nbv End Sub
bonne suite -
Bonjour,
Avec une fonction personnalisée du style :Function NombreSiVert(Plage As Range) As Integer Dim Cel As Range For Each Cel In Plage If Cel.Interior.ColorIndex = 10 Then NombreSiVert = NombreSiVert + 1 Next End Function
Ne reste qu'à placer, dans la cellule ou tu veux ton résultat, la formule :
=NombreSiVert(R1:R20)
ou
=NombreSiVert(R1:R5180)
ou peu importe la plage de cellules...
Pour actualiser en cas de modif, double clic sur la cellule et entrée -
1. rien ne se produit
tu dois quand même avoir le message box qui te donne le nombre de cellules vertes
2. et comment mettre le nombre de cellule dans une variable
la variable nbv contient le nombre de cellules vertes
RQ1. il y a plusieurs "verts" dans la palette, pijaku a pris 10, et j'ai pris 35, il y en a d'autres !!!
RQ2. j'espère que tu as modifié la constante plage ="A1:A10" par ta plage
bonne suite -
Salut à tous,
pour vous aider à déméler... je ne veux pas en remettre une couche
En suivant la fonction de Pijaku et la remarque de ccm81
il serait judicieux de savoir quel est ce vert...
La fonction suivante te donnera une valeur que tu pourras utiliser
dans
' If Cel.Interior.ColorIndex = <Valeur de la couleur > Then NombreSiVert = NombreSiVert + 1
ou modifier la constante dans la proposition de ccm81
Const clVert = <Valeur de la couleur >Public Function Quelle_Couleur_Fond(Cel As Range) As Long Application.Volatile Quelle_Couleur_Fond = Cel.Interior.ColorIndex End Function
et pour l'utiliser... en supposant que ta couleur est un B10 tu pourras écrire
dans une autre cellule =Quelle_Couleur_Fond(B10)
bonne journée à tous -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut tout le monde, CCM81, Bidouilleu,
Merci Bidouilleu pour le "Application.volatile omis dans ma première soluce.
Je place donc, juste au cas ou vous auriez zappé :Function NombreSiVert(Plage As Range) As Integer Dim Cel As Range Application.Volatile For Each Cel In Plage If Cel.Interior.ColorIndex = 10 Then NombreSiVert = NombreSiVert + 1 Next End Function
10 dans Cel.Interior.ColorIndex = 10 représente la couleur verte
Formule en S10 par exemple saisir :
=NombreSiVert(R1:R500)
à actualiser par F9...
A+ -
bonjour à tous
ça marche nickel
il fallait juste trouver le bon n° de vert !
bonne journée