Changer le titre d'un bouton au moyen d'une macro

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Je voudrais changer le titre d'un bouton au moyen d'une macro.
Il existe, à ma connaissance, 2 types de boutons dans Excel :
- Boutons de Formulaire
- Boutons de Controles ActiveX

Supposons que j'ai 2 boutons sur ma feuille : 1 bouton dit de Formulaire qui s'appelle "Bouton1" et 1 bouton dit de Controles ActiveX qui s'appelle "Bouton2".

Si j'écris dans ma macro :

[Bouton1].Caption = "Lolo"

et que je la déclenche, va apparaître alors comme titre "Lolo" sur ce bouton.

Maintenant si j'écris :

[Bouton2].Caption = "Lolo"

ça plante !

Il y a-t-il un moyen pour résoudre ce problème ?
 

Magic_Doctor

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

C'est sympa job75 de plancher sur mon problème après le départ de tes invités.
J'espère que ta soirée s'est bien passée.

De mon côté j'ai un peu tout essayé, tes solutions, les miennes... mais le problème est toujours là. Une vraie prise de tête comme je le disais à JNP.
J'ai un peu planché pour faire un classeur aussi concis et explicite que possible où tout y est expliqué en détail.
 

Pièces jointes

  • Boutons.zip
    17.5 KB · Affichages: 29
  • Boutons.zip
    17.5 KB · Affichages: 35
  • Boutons.zip
    17.5 KB · Affichages: 32

soenda

XLDnaute Accro
Re : Changer le titre d'un bouton au moyen d'une macro

Bonjour à tous et à toutes

job75 à dit:
Peut-être que sur Excel 2007 ça ne marche pas sans sélectionner l'objet...
Sur 2007 (chez moi), les 4 instructions suivantes fonctionnent
Code:
    Feuil1.DrawingObjects("Bouton 1").Characters.Text = "Toto"
    Feuil1.[Bouton 1].Characters.Text = "Toto"
    Feuil1.[Bouton 1].Text = "Toto"
    Feuil1.[Bouton 1].Caption = "Toto"
REM : ne pas oublier l'espace entre "Bouton" et "1"

A plus
 

job75

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Bonjour Magic Doctor, le fil,

Voici le fichier modifié qui fonctionne sur Excel 2003.

Le mieux était de mémoriser dans la variable test l'état initial de la fenêtre, pour ne pas se mélanger les pédales.

En effet pour les boutons "Formulaire", il n'est pas nécessaire de passer par DrawingObjects, ils ont les propriétés Caption et Font.

Reste que je ne sais pas non plus comment modifier la couleur de fond d'un bouton "Formulaire".

A+
 

Pièces jointes

  • Boutons.zip
    18.6 KB · Affichages: 35
  • Boutons.zip
    18.6 KB · Affichages: 31
  • Boutons.zip
    18.6 KB · Affichages: 27

JNP

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Bonjour le fil :),
Après quelques heures de recherches suite à ce fil, et en suivant celui-ci car Magic Doctor avait prévenu de l'ouverture d'un autre fil ;), j'ai complètement changé mon fusil d'épaule :p...
Sachant qu'il est sous 2007, il ne devrait pas y avoir de problème pour lui. Je ne garantis rien pour la version antérieure que je poste en même temps :eek:...
Bon WE :cool:
 

Pièces jointes

  • Sacrés BoutonsV3.xls
    51.5 KB · Affichages: 57
  • Sacrés BoutonsV3.xlsm
    21.2 KB · Affichages: 42

job75

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Bonjour JNP :)

Visiblement tu as beaucoup travaillé.

Mais ton fichier est bien différent du dernier présenté par Magic Doctor sur ce fil.

Sur Excel 2003, ta macro présente une erreur de compilation "Variable non définie" pour xlPatternLinearGradient.

Edit : j'ai enlevé Option Explicit, alors ces lignes ne passent pas :

Code:
.Gradient.Degree = 90
.Gradient.ColorStops.Clear
.Gradient.ColorStops.Add(0).Color = CouleurExtérieurDégradé
.Gradient.ColorStops.Add(0.25).Color = CouleurIntérieurDégradé
.Gradient.ColorStops.Add(0.75).Color = CouleurIntérieurDégradé
.Gradient.ColorStops.Add(1).Color = CouleurExtérieurDégradé

En les mettant en commentaires on arrive au bout.

A+
 
Dernière édition:

Lii

XLDnaute Impliqué
Re : Changer le titre d'un bouton au moyen d'une macro

Bonjour,

faut-il retrouver la feuille dans le même état que la précédente ?
Si oui, voir le fichier joint.
Remarques :
pas regardé les derniers fichiers
pour 2 états, il est prévu un "Bouton Bascule"
un retour est attendu même si cela ne convient pas.

Victime d'une coupure intempestive, ai répondu ici et pas là !
 

Pièces jointes

  • ChangementFeuilles.zip
    12.6 KB · Affichages: 36
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Re :),
Job75, comme je disais, j'ai changé mon fusil d'épaule :p...
J'ai essayé avec les contrôles ActiveX ou de formulaire, mais la gestion, et du texte, et de la couleur, et du suivi, devenait une véritable usine à gaz, sachant que je n'arrivait pas à gérer ces contrôles depuis un module au lieu de la feuille les contenant (et pourtant, je suis passé par des événementielles, arrêter les événementielles pendant que je changeais le contrôle, etc :eek:...)...
Bref, je me suis dit que les boutons ne servaient à rien sur ce coup là, et que la détection de sélection de cellule me suffisait pour faire les actions. Mais pour que l'esthétique reste du même type, je me suis servi de dégradés (variable Gradient en 2007) afin de donner un air de bouton à mes cellules ;).
Je peux toujours supprimer tout ce qui est dégradé afin de rendre le fichier utilisable antérieur 2007, mais ça ne sera guère que 2 cellules qui changent de mise en forme...
Bon WE :cool:
 

jeanpierre

Nous a quitté
Repose en paix
Re : Changer le titre d'un bouton au moyen d'une macro

Bonjour au fil (trop de monde pour vous nommer)

Pour répondre à l'ami job sur :

"Sur Excel 2003, ta macro présente une erreur de compilation "Variable non définie" pour xlPatternLinearGradient"

Normal car c'est une nouveauté 2007.

Il va donc falloir que nous fassions des sacrifices, tant en termes monétaires qu'en terme de temps d'acclimatation... C'est le progrès et nous, les un peu vieux surtout en âge.......

Bon Week-end tout de même.

Jean-Pierre
 

job75

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Re JNP,

J'ai essayé avec les contrôles ActiveX ou de formulaire, mais la gestion, et du texte, et de la couleur, et du suivi, devenait une véritable usine à gaz (...)

Ben je ne comprends pas, avec les [Edit ] 4 boutons (dont 2 de test) du fichier de Magic Doctor ce n'est pas bien compliqué...

Tu as vu ce que j'ai fait au post #18 ??

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Re,

Bon, Magic Doctor avait mis 2 macros différentes dans les feuilles...

Si l'on veut une seule macro dans un Module, il suffit de modifier la manière dont on se réfère aux boutons : la feuille doit être précisée à chaque fois.

Et pour le bouton Formulaire on revient à DrawingObjects !

Fichier modifié joint.

A+
 

Pièces jointes

  • Boutons(1).zip
    18.9 KB · Affichages: 32

JNP

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Re :),
Tu as vu ce que j'ai fait au post #18 ??
Non, je n'ai pas testé :eek:...
Mais je viens de le faire, et si tu te déplaces avec les onglets, la modification n'est pas effective sur les 2 feuilles...
C'est vrai qu'à la base c'est simple, mais s'il faut tenir compte de tous les modes de navigation possible (onglet, Ctrl+Haut ou Ctrl+Bas, etc...), ça devient de l'usine à gaz, ou j'ai rien compris :confused:...
Il est vrai aussi que je suis parti du fichier de Magic Doctor sur l'autre fil, et que je n'ai pas fait de test en mettant des ActiveX à la place des contrôles de formulaire...
Bon WE :cool:
 

Magic_Doctor

XLDnaute Barbatruc
Re : Changer le titre d'un bouton au moyen d'une macro

Bonsoir tout le monde et plus particulièrement à job75 & JNP qui se sont "décarcassés" pour m'aider à en finir avec cette curiosité excelienne.

J'ai donc fait une synthèse de tout ce que vous m'avez envoyé.
J'ai délibérément viré les 2 Boutons Test, qui n'avaient plus de raison d'être, d'autant plus que celui correspondant au formulaire ne peut curieusement changer de couleur de fond.
J'ai rajouté une feuille supplémentaire (dans mon projet il y en aura 3).
Tout marche maintenant à la perfection, à un détail près : les "Gridlines" & les "Headings" n'apparaissent pas et ne disparaissent pas comme il se devrait.
J'ai essayé de résoudre ce dernier problème en modifiant la macro, mais il ne se résout jamais totalement.

¡Amigos, 1000 gracias por su ayuda!

Très bonne fin de soirée fraiche, car ici on "crève" sous 35 !!!
 

Pièces jointes

  • Boutons(2).zip
    17.7 KB · Affichages: 36

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 297
Membres
111 093
dernier inscrit
Yvounet