Compter les shapes de couleurs

Bonjour, j'aimerais être capable de compter le nombre de "shape rouge" dans une sélection et mettre le résultat dans une cellule. C'est à dire compter le nombre de ronds rouge qu'il y a dans A1 à A7, chaque cellule peut compter près de 10 ronds de différentes couleurs. Le but ultime est de compter combien de rond rouge, rond vert, rond jaune, rond bleu, rond orange.

Merci pour votre aide!

Bonjour,

pour compter les rouges, mettre la formule suivante dans une cellule =Nb_Shapes(A1:A8;255)

Function Nb_Shapes(plage As Range, couleur As Long) As Integer
For Each sh In ActiveSheet.Shapes
    Set isect = Application.Intersect(Range(sh.TopLeftCell.Address), plage)
        If Not isect Is Nothing And sh.Fill.ForeColor.RGB = couleur Then
            n = n + 1
        End If
Next
Nb_Shapes = n
End Function

Merci ça fonctionne pour le rouge qui est 255 mais comment faire pour le vert par exemple qui est 112,173,71 ?

pour connaitre la valeur Long de vos couleurs à partir de l'info RGB,

Sub Test_RGB_LONG()
couleur = CLng(RGB_To_LONG(112, 173, 71))
End Sub

Function RGB_To_LONG(iRed As Integer, iGreen As Integer, iBlue As Integer) As String
    Dim sHex As String
    sHex = VBA.Right$("00" & VBA.Hex(iBlue), 2) & VBA.Right$("00" & VBA.Hex(iGreen), 2) & VBA.Right$("00" & VBA.Hex(iRed), 2)
    sLong = Application.Hex2Dec(sHex)
    RGB_To_LONG = sLong
End Function

aussi la formule sur la feuille =RGB_To_LONG(A1;B1;C1) si les données RGB sont en cellules A1, B1, C1

Rechercher des sujets similaires à "compter shapes couleurs"