Changer le noms de plusieurs boutons dans une feuille excel

Résolu
Mabelle60 Messages postés 492 Statut Membre -  
Mabelle60 Messages postés 492 Statut Membre -
Bonjour la communauté
Il y a un moment que je n'ai pas travaillé sous vba et j'ai un peu de mal à m'y remettre.

Voici mon problème
Dans une feuille excel (2010), j'ai 5 ToggleButton (control activex).
Je souhaite, lorsque j'active cette feuille, 'réinitialiser' mes boutons.
J'ai essayé 2 méthodes, mais chacune d'elle m'alerte sur des erreurs
Ces bouts de codes sont intégrés à une fonction
Private Sub Worksheet_Activate() de la feuille ou se trouvent les boutons.

1° Méthode
Dim Tableau() As Variant
Tableau = Array("ToggleButton1", "ToggleButton2", "ToggleButton3", "ToggleButton4", "ToggleButton5")
Worksheets("Feuil1").Shapes.Range(Tableau).Select
With Selection
.Caption = "OK"
.BackColor = &H8000&
.Value = False
.Enabled = False
End With
Cette méthode bloque sur les lignes Caption et Backolor
Erreur d'execution 1004 (pour le Caption)
Impossible de définir la proprieté Caption de la classe DrawingObjects
&
Erreur d'execution 438 (pour le BackColor)
Proprieté ou méthode non gérée par cet objet

2° méthode
Dim i As Integer
For i = 1 To 5
With Controls("ToggleButton" & i)
.Caption = "OK"
.BackColor = &H8000&
.Value = False
.Enabled = False
End With
Next i
Erreur de compilation
Sub ou fonction non définie
Controls est surligné en bleu...

Quelqu'un aurait il une piste à me proposer?
Cordialement
A voir également:

1 réponse

f894009 Messages postés 17414 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Sub Couleur_ToggleButton()
    For N = 1 To 5
        With ActiveSheet.OLEObjects("ToggleButton" & N).Object
            .Caption = "OK"
            .BackColor = &H8000&
            .Value = False
            .Enabled = False
        End With
    Next N
End Sub
-1
Mabelle60 Messages postés 492 Statut Membre 131
 
Merci f894009
Je ne suis pas passé très loin... J'ai bien essayé avec le ActiveSheet mais sans passer par OLEOBjects(....).Object
Merci beaucoup, nickel
0