Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/06/2004, 09h52   #1
Invité de passage
 
Inscription : mai 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 4
Points : 1
Points : 1
Par défaut [VBA-W] Ajout par vb de commandes dans les menus contextuels de Word

Bonjour à tous,

Je voudrais insérer des macros dans le menu contextuel de word (clic droit de la souris). Cette opération peut être faite manuellement par l'option "personnaliser" .... mais il faut ajouter ces macros dans tous les sous-menus des sous-menus (3) du menu contextuel (soit une douzaine). En plus, il faudrait que je fasse cette opération pour une vingtaine de personnes. Je me demandais donc s'il n'y avait pas moyen de créer une macro, un code vb permettant d'insérer automatiquement des macros dans le menu contextuel.

J'ai utilisé l'enregistrement automatique d'une macro pour voir s'il était possible de préciser l'endroit où les macros doivent être insérées dans le menu contextuel et de préciser le nom de la macro à insérer dans ce menu contextuel. Il est possible de préciser le nom du sous-menu du menu contextuel dans lequel il faut insérer la macro, mais il ne semble pas possible de préciser le nom de la macro à insérer.

Voici le code la macro enregistrée et dont les opérations étaient : personnaliser, ajout de la macro Googlesearch (contenue dans le module "macrosgénérales") dans le sous-menu "Footnotes" du sous-menu "Text" du menu contextuel (il y a trois sous-menus principaux : "Text" "Table" et "Draw", chacun comportant des sous-menus) :

Code :
1
2
3
4
5
6
7
Sub addtoshortcutmenu()
'
' addtoshortcutmenu Macro
' Macro recorded 6/2/2004 by froland
'
    CommandBars("Footnotes").Controls.Add Type:=msoControlButton, Before:=4
End Sub
La portion CommandBars("Footnotes") permet de déterminer le sous-menu dans lequel il faut insérer la macro.

Before:=4 permet de déterminer l'emplacement de l'insertion de la macro dans le menu contextuel relatif à footnotes.

Quid du nom de la macro que je voudrais insérer ???

Quelqu'un saurait-il m'aider à faire en sorte que je puisse préciser le nom de la macro à insérer ?

Merci d'avance !
fabianr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2004, 10h05   #2
Expert Confirmé Sénior

 
Avatar de bidou
 
Inscription : mai 2002
Messages : 3 052
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 3 052
Points : 4 101
Points : 4 101
Code :
1
2
3
4
5
 
Dim MonControl As CommandBarButton
 
    Set MonControl = CommandBars("("Footnotes"").Controls.Add(Type:=msoControlButton, Before:=4)
    MonControl.OnAction = "MaMacro"
__________________
Tutoriels VB
Cours
bidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2004, 10h39   #3
Invité de passage
 
Inscription : mai 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 4
Points : 1
Points : 1
er
fabianr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2004, 11h11   #4
Invité de passage
 
Inscription : mai 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 4
Points : 1
Points : 1
Désolé, autant pour moi !!! Il ne fallait pas indiquer "normal.macrogénérales", mais simplement le nom de la macro !

La macro crée donc une nouvelle commande dans le menu contextuel. La macro insérée dans le menu contextuel fonctionne, mais son nom n'apparaît pas dans ce menu. La "case" est vide, mais si l'on clique dessus, la macro insérée est activée.

Comment faire pour que le nom de la macro insérée soit visible dans le menu contextuel ???

Merci d'avance !

Le code utilisé était :

Code :
1
2
3
4
5
6
Sub addtoshortcutmenu()
Dim MonControl As CommandBarButton
 
    Set MonControl = CommandBars("Text").Controls.Add(Type:=msoControlButton, Before:=4)
    MonControl.OnAction = "GoogleSearch"
End Sub
fabianr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2004, 11h19   #5
Invité de passage
 
Inscription : mai 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 4
Points : 1
Points : 1
Ok, j'avoue que je n'avais pas assez recouru aux informations en ligne, puisque j'ai trouvé la réponse moi-même.

Merci de votre aide !

Le code final est :
Code :
1
2
3
4
5
6
7
Sub addtoshortcutmenu()
Dim MonControl As CommandBarButton
 
    Set MonControl = CommandBars("Text").Controls.Add(Type:=msoControlButton, Before:=4)
    MonControl.OnAction = "VanDale"
    MonControl.Caption = "VanDale"
End Sub
fabianr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h44.


 
 
 
 
Partenaires

Hébergement Web