Bonjour,
J'ai une feuille calc avec un bouton.
J'ai assigné manuellement à l'évènement Exécuter l'action de ce bouton la macro "macro1" du "Module1".
Est-il possible depuis la macro "macro1" d'assigner à ce même bouton la macro "macro2" du "Module2" en remplacement de la macro "macro1" ?
Merci de votre aide !
[Résolu][Calc] Changement de macro affectée à un bouton
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
[Résolu][Calc] Changement de macro affectée à un bouton
Dernière modification par agraeth le 25 juil. 2018 06:26, modifié 1 fois.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Changement de macro affectée à un bouton
Mme Irma est à la plage mais je soupçonne un problème XY.
Avec autant de messages à ton compteur, tu sais ce qu'il faut faire pour être aidé.
Avec autant de messages à ton compteur, tu sais ce qu'il faut faire pour être aidé.
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Changement de macro affectée à un bouton
Salut Dude,
Pas convaincu d'être concerné par le problème XY, mais j'apporte un fichier avec un bouton, deux modules et deux macros.
Le but recherché :
- on clique
- Macro1 est exécutée et se débranche pour être remplacée par Macro2
- on reclique
- Macro2 est exécutée pour ce clic et tous les clics suivants
Le module1 sera a terme supprimé, c'est pourquoi je dois brancher la macro2 du module2
Pas convaincu d'être concerné par le problème XY, mais j'apporte un fichier avec un bouton, deux modules et deux macros.
Le but recherché :
- on clique
- Macro1 est exécutée et se débranche pour être remplacée par Macro2
- on reclique
- Macro2 est exécutée pour ce clic et tous les clics suivants
Le module1 sera a terme supprimé, c'est pourquoi je dois brancher la macro2 du module2
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc] Changement de macro affectée à un bouton
Bonjour
A testerA+
A tester
Code : Tout sélectionner
Sub Macro1(oEv)
Dim oFrame as Object, oDispatch as Object, oForm as Object
Dim evt As New com.sun.star.script.ScriptEventDescriptor
oFrame = ThisComponent.CurrentController.Frame
oDispatch = createUnoService("com.sun.star.frame.DispatchHelper")
msgbox "Macro1 branchée"
oEv.Source.Model.Label = "Importer"
oForm = oEv.source.Model.Parent
evt.ListenerType = "XActionListener"
evt.EventMethod = "actionPerformed"
evt.ScriptType = "Script"
evt.ScriptCode = "vnd.sun.star.script:Standard.Module2.Macro2?language=Basic&location=document"
oForm.registerScriptEvent(0, evt)
thisComponent.setModified(True)
thisComponent.Store
oDispatch.executeDispatch(oFrame, ".uno:Reload", "", 0, Array())
End Sub
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Changement de macro affectée à un bouton
Bonjour Piaf,
Et merci de ta participation !
Une erreur apparait à l'appel de de la macro2 : En consultant l'évènement Exécuter l'action du bouton, la macro assignée est:
Et merci de ta participation !
Une erreur apparait à l'appel de de la macro2 : En consultant l'évènement Exécuter l'action du bouton, la macro assignée est:
En l'affectant manuellement seul Standard.Module2.Macro2 est écrit...vnd.sun.star.script:Standard.Module2.Macro2?language=Basic&location=document
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Changement de macro affectée à un bouton
Le plus simple : une 3e macro affectée au bouton
bTest est un sémaphore dont la valeur sera changée dans macro1 et qui peut être stockée comme :
Code : Tout sélectionner
Sub LanceMoi
if (bTest) then
Call macro1
else
Call macro2
endif
End sub
- variable globale
- cellule dans le document
- fichier sur le disque
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc] Changement de macro affectée à un bouton
Re
A+
Je ne reproduis pas l'erreur avec ton fichier mis en ligne, ni sous AOO 4.1.5 ni sous LibO 5.4.7.2, donc difficile de te répondre.A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Changement de macro affectée à un bouton
Bonjour,
Et merci à Piaf et Dude !
Le problème vient surement de la version suraménagée de l'administration...
Je clos donc le billet, puisque la solution de Piaf semble fonctionner et que l'alternative de Dude est tout à fait opérationnelle.
Encore merci à vous !
Et merci à Piaf et Dude !
Le problème vient surement de la version suraménagée de l'administration...
Je clos donc le billet, puisque la solution de Piaf semble fonctionner et que l'alternative de Dude est tout à fait opérationnelle.
Encore merci à vous !
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro