Changer le caption d'un bouton en l'adressant par une variable

Bonjour,

je fini par me tourner vers des gens plus aptes que moi vu que je me prends un peu la tete avec un probleme qui n'en est paut etre pas un, mais je ne trouve pas la solution.

Je m'explique :

dans une feuille excel, j'ai plusieurs boutons Cmd0202, Cmd0204, ... Cmd1113, ...

j'aimerai pouvoir selectionner un bouton avec une commande du genre

  • Dim Var1 as String
    Dim Var2 as String
    Var1 = "11"
    Var2 = "13"
    sheets("Feuill1").Cmd & Var1 & Var2.caption = "mon texte"

ou

  • Dim Var1 as String
    Dim Var2 as String
    Var1 = "11"
    Var2 = "13"
    Dim CmdName as String
    CmdName = "Cmd" & Var1 & Var2
    sheets("Feuill1").CmdName.caption = "mon texte"

je sais que ce n'est pas possible en l'etat, mais je ne trouve pas la bonne commande pour obtenir ca. Quelqu'un aurait une idee svp ?

PS : desole pour l'accentuation, je n'ai pas installe le clavier francais sur mon pc.

Merci d'avance pour l'attention que vous porterez a mon petit probleme.

Bonjour

avec un fichier, nous pourrions sûrement t'aider....

Cordia5

Bonjour,

me suis je mal exprime ?

je cherche a pouvoir acceder a un bouton en utilisant le nom du bouton qui se trouve dans une variable de type string (ou tout ce qui fera que ca marche ^.^). Changer le texte et les options du bouton ainsi selectionne me serait des plus utile.

je joins un fichier excel avec des boutons et du code qui ressemble en gros a ce que je veux faire.

merci.

PS : j'ai bien trouve des instructions du type Me.Controls(BtnName).Caption = "Mon Texte" mais ca ne fonctionne pas. Le parametre Controls n'est pas disponible. Serait-ce du a la version de mon Excel ?

Bonjour à tous,

2 possibilités :

* si le bouton est un contrôle ActiveX, c'est simplement avec une ligne du genre :

ActiveSheet.OLEObjects("CommandButton" & "1").Object.Caption = "Blabla"

* si le bouton est un contrôle formulaire, il faut le sélectionner avant (et sélectionner autre chose après, une cellule quelconque par exemple) :

    ActiveSheet.Shapes("Bouton" & "1").Select
    Selection.Characters.Text = "Blablabla"
    ActiveSheet.Range("A1").Select

Pierre

Hello Pierre

je viens de tester les deux methodes que tu as envoye. La seconde ne fonctionne pas du tout. J'arrive bien a selectionner le bouton avec le .select mais l'autre instruction ne passe pas.

Par contre, la premiere ligne de commande fonctionne a merveille. Il fallait donc passer par le OLEObjects.

Un grand MERCI.

Ton bouton est un donc un contrôle ActiveX.

Pour un contrôle formulaire, on peut écrire plus simplement :

ActiveSheet.Shapes("Bouton" & "1").TextFrame.Characters.Text = "Blablabla"

Milles Merci, je testerai cette option la des que j'aurai le temps.

Ton bouton est un donc un contrôle ActiveX.

Pour un contrôle formulaire, on peut écrire plus simplement :

ActiveSheet.Shapes("Bouton" & "1").TextFrame.Characters.Text = "Blablabla"
Rechercher des sujets similaires à "changer caption bouton adressant variable"