Bonjour à tous ! Je suis débutant en VBA et j'ai un problème de boucle...
J'ai cree des labels qui changent de couleur quand on clique dessus
Code:
End If
If Label997.BackColor = vbGreen Then
Label997.BackColor = vbRed
Exit Sub
End If
If Label997.BackColor = vbBlue Then
Label997.BackColor = vbGreen
Exit Sub
End If
End Sub
Maintenant je veux faire une fonction qui compte le nombre de label d'une certaine couleur mais j'obtiens l'erreur VALEUR mais je ne sais pas pourquoi ....
Voila mon code la fonction :
Code:
Function Nbneon(Couleur As Byte) As Long
Application.Volatile
For Each Label In ActiveSheet
If Label.BackColor = Couleur Then
Nbneon = Nbneon + 1
End If
Next Label
End Function
Bonjour.
Il faut explorer une collection qui soit propriété de la feuille. En l'occurrence ActiveSheet.OLEObjects
Alors Label.Object.BackColor sera As Long, pas Byte.
Je n'ai pas de variable cCont sous le yeux. Suggestion: joignez votre classeur.
Je ne suis même pas tout à fait sûr que vous parlez bien de Label ActiveX et non de formulaire, où ce serait plutôt la collection Shapes.