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 ?
 

job75

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

Bonsoir,

un retour est attendu même si cela ne convient pas.

Effectivement Lii, Magic Doctor n'a pas dû voir ton post #21, et je ne l'avais pas vu non plus. Il y a du monde sur ce fil...

Pour revenir au dernier fichier et problème de Magic Doctor, il suffit de mettre les propriétés concernées à False dans la macro.

A+
 

Pièces jointes

  • Boutons(3).zip
    18 KB · Affichages: 32

Magic_Doctor

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

Rebonsoir,

Toute mes excuses Lii, en effet je n'avais pas lu ton post, "bûchant" sur les solutions de job75 & JNP.
J'ai regardé ta solution qui marche à TOUS POINTS DE VUE très bien. En revanche, elle est nettement plus complexe que celle de job75 + JNP.
Dans le dernier post de job75, le problème est pratiquement résolu mais pas encore tout à fait (voir classeur ci-joint). Ce n'est plus qu'une question de "millimètres" !
 

Pièces jointes

  • Boutons(3').zip
    17.4 KB · Affichages: 26

job75

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

Re,

Bon Magic Doctor j'avais mal compris ton 1er code :)

Le quadrillage (gridlines) apparaît si les cellules ne sont pas colorées (feuilles Test1 et Test2).

A+
 

Pièces jointes

  • Boutons(4).zip
    17.7 KB · Affichages: 24
Dernière édition:

job75

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

Re,

Et pour terminer, si les boutons ActiveX étudiés sont les seuls objets (ou les 1ers créés) de chaque feuille, le code se simplifie avec :

Code:
'Mise en forme des boutons
On Error Resume Next 's'il n'y a pas de bouton
For Each w In Worksheets    
    With w.OLEObjects(1).Object
        .Caption = IIf(test, "Plein Écran", "Vue Normale")
        .ForeColor = IIf(test, &H95FC7, &H3C9275)
        .BackColor = IIf(test, &HEFEBFF, &HE5F7D5)
    End With
Next

Bonne nuit aux européens, bon dîner à Montevideo.
 

Pièces jointes

  • Boutons(5).zip
    17.5 KB · Affichages: 25
Dernière édition:

Magic_Doctor

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

Bravo job pour cette cerise sur le gâteau. Cette dernière macro est d'une concision surprenante.
Question : si dans les feuilles il y a d'autres "OLEObjects" dont des Boutons Controle ActiveX, sont-ils affectés par cette procédure ? J'ai fait un essai dans le classeur ci-joint et ça n'a pas l'air d'être le cas.

Malheureusement, en dépit de toutes ces améliorations, il persiste toujours un problème avec ces sacrés "Gridlines" & "Headings" qui n'en font qu'à leur tête.

Très bon dimanche.

Ici, après la canicule (37º), une petite tempête courte mais rafraîchissante !
 

Pièces jointes

  • Boutons(5').zip
    21.8 KB · Affichages: 29
Dernière édition:

JNP

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

Re le fil :),
Abdiquer ne signifie pas abandonner :p...
Dans ma version, j'avais utilisé un tableau pour sélectionner toutes les feuilles
Code:
Dim FeuilleDépart As Worksheet
Set FeuilleDépart = ActiveSheet ' Stockage de la feuille active
Sheets(Array("Mélange", "Test1", "Test2")).Select ' Activation de toutes les feuilles
With Windows(1) ' Fenêtre active
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayWorkbookTabs = False
End With
FeuilleDépart.Select ' Retour à la feuille active
Ce qui devrait s'adapter parfaitement au code de Job75.
Bon dimanche :cool:
PS : Ici, on flirte entre -15° et -10°, et pourtant, c'est pas le Canada...
 

job75

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

Bonjour Magic Doctor, JNP, le forum,

Bien qu'a priori il y ait une seule fenêtre, les commandes pour les Headings et les Gridlines nécessitent qu'on active chaque feuille dans la macro. C'est en effet curieux.

Comme de toute façon la macro passait en revue les feuilles pour les boutons, il suffit de mettre tout ça dans la boucle.

Quant aux boutons Magic Doctor, je rappelle simplement que OLEObjects(1) c'est le 1er objet créé dans chaque feuille. Il faut que ce soit le bouton à traiter.

A+
 

Pièces jointes

  • Boutons(6).zip
    22 KB · Affichages: 28

JNP

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

Re :),
Bien qu'a priori il y ait une seule fenêtre, les commandes pour les Headings et les Gridlines nécessitent qu'on active chaque feuille dans la macro. C'est en effet curieux.Comme de toute façon la macro passait en revue les feuilles pour les boutons, il suffit de mettre tout ça dans la boucle.
à condition d'activer chaque feuille, d'où la nécessité de stocker la feuille de départ pour y retourner...
A + :cool:
 

Magic_Doctor

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

Bonsoir job75, JNP, le forum,

Je n'ai pu répondre et vous remercier plus tôt, problème de moniteur (le transfo aurait grillé, je suis passé au 19' et c'est top !).

Maintenant tout à l'air de marcher très bien
Le seul problème, disons de présentation, est que pour passer d'une feuille à l'autre, je clique sur un bouton qui fait apparaître un pop-up avec la liste des feuilles du classeur. Il suffit de choisir une feuille pour y accéder. Mais voilà, la liste en question, suivant le mode d'écran que l'on a choisi, peut se retrouver fort loin du bouton d'appel. Il y aurait-il un moyen pour en quelque sorte "aimanter" cette liste à son bouton ?

De toutes façons un grand merci pour votre aide efficace.
Si nous n'avions plus l'occasion de communiquer, recevez tous mes meilleurs vœux pour les fêtes de Noël (qui est plus sympa au Nord qu'au Sud) et de Nouvel An (qui est plus sympa au Sud qu'au Nord).
 

Pièces jointes

  • Boutons(6').zip
    22.3 KB · Affichages: 35

JNP

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

Salut Magic Doctor :),
Pour récupérer la position du bouton Choix feuilles, tu peux utiliser
Code:
Sheets("Mélange").OLEObjects(2).Left
Sheets("Mélange").OLEObjects(2).Top
qui va te donner la position du bouton (en adaptant à la feuille où tu te trouves). Par un savant calcul (et quelques essais :p), tu vas pouvoir déterminer les X et Y à envoyer à ta Sub Menu ;).
Joyeux Noël blanc (avec un peu de sucre glace, ça fera l'affaire :D) et bon réveillon :cool:
 

Magic_Doctor

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

Merci JNP,

J'y avais pensé, mais ça ne m'a pas semblé d'une grande utilité, vu que les coordonnées du Bouton ActiveX sont toujours les mêmes que l'on soit en Plein Écran ou en Vue Normale ; alors que les coordonnées du POPUP elles changent...!!!

En fait maintenant le problème est nouveau et n'a plus rien à voir avec le précédent solutionné grâce à toi et job75. Aussi vais-je ouvrir un nouveau fil en espérant qu'il se résolve.

Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 291
Membres
111 092
dernier inscrit
ThomasU3