Bonsoir John,
Pour obtenir un look plus moderne pour le boutons, je te suggère de remplacer les boutons 'OLE form' par des illustrations :
Avec la condition suivante : donner un nom commençant par "btnCommand" aux boutons illustrations (par exemple: btnCommand1, btnCommand2, btnCommand3...)
D'autre part, il est nécessaire d'amender les 2 macros de la façon suivante :
Macro pour changer la couleur du bouton illustration :
Sub Reccoinsarrondis1_Cliquer()
Dim oShape As Shape
Dim i, ii
For Each oShape In ActiveSheet.Shapes
With oShape.Fill.ForeColor
Select Case .RGB
Case vbRed
.RGB = vbGreen
Case vbGreen
.RGB = vbYellow
Case Else
.RGB = vbRed
End Select
End With
Next
End Sub
Pour calculer le nombre de boutons en fonction de leurs couleurs :
Sub countButtonsByColor()
Const cBtnName = "btnCommand"
Dim nbR As Integer
Dim nbV As Integer
Dim nbJ As Integer
Dim obj As Shape
'On boucle sur tous les objets shape de la feuille
For Each obj In ActiveSheet.Shapes
If Left(obj.Name, Len(cBtnName)) = cBtnName Then
Select Case obj.Fill.ForeColor.RGB
Case Is = vbGreen
nbV = nbV + 1
Case Is = vbRed
nbR = nbR + 1
Case Is = vbYellow
nbJ = nbJ + 1
End Select
End If
Next obj
'On valorise les cellules I
ActiveSheet.Range("I21").Value = nbV
ActiveSheet.Range("I22").Value = nbR
ActiveSheet.Range("I23").Value = nbJ
End Sub
Je joins le classeur qui m'a servi pour les tests :