Page 1 sur 1

[Résolu][Basic]Identifier le raccourci qui a lancé une macro

Publié : 20 mai 2023 14:58
par jeanmi2403
Bonjour,
Un collègue souhaite lancer une seule macro à partir de plusieurs raccourcis clavier et donc prendre des décisions en fonction du raccourci utilisé, ceci pour ne pas multiplier des macros quasiment identiques.
Je lui ai proposé un raccourci qui lance une boîte de dialogue, mais ça ne semble pas lui convenir.
Une macro lancée depuis un raccourci ne reçoit pas d'événement, donc je ne pense pas que ce soit possible, à part en mettant en place un Listener, mais cette solution me semble bien compliquée.
 Ajout : En fait, il n'est pas possible d'identifier quel raccourci, ni quelle icône de la barre d'outils a lancé la macro.  
A plus,

Re: [Basic]Identifier le raccourci qui a lancé une macro

Publié : 24 mai 2023 13:52
par Dude
Salut,
jeanmi2403 a écrit : 20 mai 2023 14:58 à part en mettant en place un Listener, mais cette solution me semble bien compliquée.
Oui, c'est un marteau pour écraser une mouche.
Interception via les interfaces com.sun.star.frame.XDispatchProviderInterceptor et com.sun.star.frame.XDispatch

Re: [Basic]Identifier le raccourci qui a lancé une macro

Publié : 25 mai 2023 11:47
par ddorange
Bonjour,
S’il y a par exemple trois raccourcis claviers, le plus simple c’est que chacun commande une macro distincte et que chacune de ces macros lance la macro principale avec un paramètre.

Code : Tout sélectionner

Sub Macro1
   Call MainMacro(1)
End sub

Sub MainMacro(iRc as integer)
   Select Case iRc
        Case 1
        ………
        Case 2
        ……..
        Case 3
        ………
   End Select 
   blabla suite ….
End Sub
Cordialement.

Re: [Basic]Identifier le raccourci qui a lancé une macro

Publié : 25 mai 2023 12:32
par jeanmi2403
Salut,
ddorange a écrit : 25 mai 2023 11:47 chacun commande une macro distincte et que chacune de ces macros lance la macro principale avec un paramètre.
j'avais, bien entendu, proposé cette solution à plusieurs lanceurs.
J'ai posé cette question par curiosité...
Cordialement,

Re: [Basic]Identifier le raccourci qui a lancé une macro

Publié : 26 mai 2023 08:28
par Dude
jeanmi2403 a écrit : 25 mai 2023 12:32 J'ai posé cette question par curiosité...
Et je t'ai répondu.

Re: [Basic]Identifier le raccourci qui a lancé une macro

Publié : 26 mai 2023 16:54
par jeanmi2403
Bonsoir,
Dude a écrit : 24 mai 2023 13:52 Oui, c'est un marteau pour écraser une mouche.
Je suis bien d'accord.
Dude a écrit : 26 mai 2023 08:28
jeanmi2403 a écrit : 25 mai 2023 12:32 J'ai posé cette question par curiosité...
Et je t'ai répondu.
Merci.
J'ai étudié attentivement (ça m'a pris un certain temps) ta proposition. Intéressant mais complexe.
Ça effraie un peu au lancement de l'écoute de voir 300 lignes se remplir....
Et j'ai fini par trouver, simplement en écoutant le clavier. Mais ça revient au même que la solution à plusieurs lanceurs.
Ça m'a toutefois permis de comprendre les "écouteurs".
A plus,

Re: [HS][Basic]Identifier le raccourci qui a lancé une macro

Publié : 30 mai 2023 06:29
par Bidouille
Bonjour,

Pourquoi ce fil est balisé [HS] ?
Relisez donc les règles du forum sur le balisage : viewtopic.php?t=3299 :evil:

Re: [HS][Basic]Identifier le raccourci qui a lancé une macro

Publié : 30 mai 2023 08:02
par jeanmi2403
Bonjour,
Bidouille a écrit : 30 mai 2023 06:29 Pourquoi ce fil est balisé [HS] ?
Parce qu'il n'y a pas de réponse à la question, il est impossible d'identifier le raccourci à l'origine de l'appel.
J'aurais pu baliser Résolu, mais ce serait trompeur ?
Cordialement,

Re: [HS][Basic]Identifier le raccourci qui a lancé une macro

Publié : 30 mai 2023 08:04
par Bidouille
jeanmi2403 a écrit : 30 mai 2023 08:02 J'aurais pu baliser Résolu, mais ce serait trompeur ?
Votre phrase montre que vous n'avez pas lu la signification de chaque balise.