Changer le noms de plusieurs boutons dans une feuille excel

Résolu/Fermé
Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 11 juin 2015 à 13:31
Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 11 juin 2015 à 15:37
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 juin 2015 à 14:11
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 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 130
11 juin 2015 à 15:37
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