Partager via

Changer caption d'un CommandButton

Anonyme
2015-03-13T18:43:09+00:00

Bonjour,

je cherche à modifier le Caption d'un CommandButton d'une feuille sans succès car il faut d'abord que je sache quel est le CommandButton qui a cette valeur.

(La valeur est stockée dans la variable dossard et je veux réinitialiser le CommandButton qui a cette valeur)

Voici ce que j'écris:

For I = 1 To 20

 Text = Ctrl("CommandButton" & I).Caption

 If Text = dossard Then

 Ctrl("CommandButton" & I).Caption = ""

 End If

Next I

J'ai fait d'autres essais toujours infructueux. Je sais qu'il faut que je boucle sur tous les CommandButton de la feuille mais je n'y arrive pas.

merci de votre aide

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

16 réponses

  1. Anonyme
    2015-03-14T12:49:57+00:00

    ou :

    With ActiveSheet <br><br>    For i = 1 To 20 <br><br>     Text = .OLEObjects("CommandButton" & i).Object.Caption <br><br>     If Text = dossard Then <br><br>     .OLEObjects("CommandButton" & i).Object.Caption = "" <br><br>     End If <br><br>    Next i <br><br>End With

    Daniel

    Bonjour,

    j'ai une erreur "Incompatibilité de type" dans la 1ère proposition sur:

    Text = .Shapes("CommandButton" & i).DrawingObject.Object.Caption

    et une erreur "Impossible de lire la propriété Oleobject de la classe Worsheet" dans la 2ème:

    Text = .OLEObjects("CommandButton" & i).Object.Caption

    Cordialement

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. DanielCo 107.7K Points de réputation
    2015-03-14T09:30:30+00:00

    ou :

    With ActiveSheet <br><br>    For i = 1 To 20 <br><br>     Text = .OLEObjects("CommandButton" & i).Object.Caption <br><br>     If Text = dossard Then <br><br>     .OLEObjects("CommandButton" & i).Object.Caption = "" <br><br>     End If <br><br>    Next i <br><br>End With

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2015-03-14T09:20:35+00:00

    > Est-ce parce que c'est un CommandButton dans une feuille et non dans un Userform ?

    Tout à fait, je n'avais pas percuté. Essaie :

    With ActiveSheet <br><br>    For i = 1 To 20 <br><br>     Text = .Shapes("CommandButton" & i).DrawingObject.Object.Caption <br><br>     If Text = dossard Then <br><br>     .Shapes("CommandButton" & i).DrawingObject.Object.Caption = "" <br><br>     End If <br><br>    Next i <br><br>End With

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2015-03-14T00:11:22+00:00

    Merci Daniel,

    mais j'ai une erreur

    "Sub ou fonction non définie"

    sur le 1er Controls

    Est-ce parce que c'est un CommandButton dans une feuille et non dans un Userform ?

    Cordialement

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. DanielCo 107.7K Points de réputation
    2015-03-13T19:50:35+00:00

    Bonsoir,

    For I = 1 To 20

     Text = Controls("CommandButton" & I).Caption

     If Text = dossard Then

        Controls("CommandButton" & I).Caption = ""

        Exit For

     End If

    Next I

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire