Modifier les propriétés d'un bouton macro
Bonjour,
J'ai créé un bouton "macro" et j'aimerais que celui-ci agisse comme un bouton on/off.
Je m'explique, lorsque je clique sur ce bouton, je souhaiterais modifier ses propriétés (nom du bouton + macro assignée).
Merci par avance.
Fanolito
Modifier les propriétés d'un bouton macro
Bonjour,
Ta question n'est pas assez précise :
Citation:
J'ai créé un bouton "macro"
Ce bouton où se trouve t'il ? Dans une boite de dialogue ou directement dans le document.
Citation:
je souhaiterais modifier ses propriétés (nom du bouton + macro assignée)
Pour la modification du nom et autres propriétés pas de problème. Par contre changer la macro assignée je ne vois pas trop.
Peux tu envoyer un fichier exemple avec ce fameux bouton et expliquer ce qu'il est censé faire lors du premier clic dessus, et ce qu'il fera au prochain clic. Dans ce cas avec une seule macro on peut faire quelque chose lorsqu’il est sur ON et autre chose lorsqu'il est sur OFF.
Avec ton fichier exemple moi ou un autre membre pourrons modifier. Cela nous évitera de tout reprendre de zéro.
Cordialement
1 pièce(s) jointe(s)
Modifier les propriétés d'un bouton macro
Bonjour,
Voila en pièce jointe le fichier modifié.
Pour le fun je change aussi la couleur du bouton.
Ci dessous le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| 'Macro assigné à l'unique bouton
Sub Action(oEvt As Object) 'La variable oEvt récupère l'évenement à l'origine (en l'occurence le bouton)
Dim sLabelBtn As String
Dim oFeuille As Object
'Je désigne la feuille active
oFeuille = ThisComponent.getCurrentController().getActiveSheet()
'Dans la variable sLabelBtn je récupère le nom du bouton (label)
sLabelBtn = oEvt.Source.Model.Label
'Je vérifie le nom actuel du bouton et j'agit en conséquence
Select Case sLabelBtn
Case "Reprise"
'Changement couleur onglet
oFeuille.TAbColor = RGB(255, 0, 13)
'Je change le nom du bouton
oEvt.Source.Model.Label = "Attente"
'Je change la couleur du bouton
oEvt.Source.Model.BackGroundColor = RGB(255, 0, 0)
Case "Attente"
'Changement couleur onglet
oFeuille.TAbColor = RGB(255, 255, 255
'Je change le nom du bouton
oEvt.Source.Model.Label = "Reprise"
'Je change la couleur du bouton
oEvt.Source.Model.BackGroundColor = RGB(0, 255, 0)
End Select
End Sub |
Si les autres modifications à venir sont simples tu peux les ajouter dans les différentes action du "Select Case". Si les actions sont plus importantes peut-être qu'il sera préférable de séparer dans différentes macro comme par exemple :
Code:
1 2 3 4 5 6
| Select Case sLabelBtn
Case "Reprise"
Call MiseEnFormeOngletEnAttente
Case "Attente"
Call MiseEnFormeOngletEnReprise
End Select |
Le Fichier
Pièce jointe 483381
Cordialement