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 29/05/2006, 16h59   #1
Membre chevronné
 
Inscription : octobre 2005
Messages : 634
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 634
Points : 678
Points : 678
Par défaut [VBA-W]Trouver la macro exécutée par une commande d'un menu personnalisé.

Bonjour,
J'ai un modèle .dot contenant un menu personnalisé, chaque commande de ce menu lançant une macro. Je voudrais savoir quel est le nom de la macro lancée par chaque commande.
Ce menu est situé avec les menu Fichiers Edition etc... de Word. Je peux lire le code des macros, ce que je veux savoir, c'est quelle macro est exécutée quand on utilise ce menu.
J'ai déjà posé une question similaire sur les boutons de barre d'outils ici :
http://www.developpez.net/forums/sho...d.php?t=134343
Malheureusement, les réponses obtenues là bas ne peuvent pas me servir ici. Ouvrir la boîte de dialogue personnaliser puis cliquer droit sur la commande du menu donne bien le même menu contextuel que pour un bouton de barre d'outils, mais ce menu ne donne que le nom du bouton lui-même. Par défaut, c'est le nom de la macro, mais ici un autre nom a été choisi. Pour un bouton, le simple survol donne bien le nom de la macro et non le nom du bouton lui-même, mais le survol ne fonctionne pas pour les menus déroulants.
Google, l'aide en ligne, mon livre sur VBA, veulent bien me dire comment ajouter une nouvelle commande à un menu, mais refusent catégoriquement de me dire comment trouver la macro correspondant à une commande existante.
Je suis donc coincé, et j'envisage pour l'instant d'équiper chaque macro d'un messageBox donnant son nom et de tester. J'aimerai savoir si il existe une solution plus efficace. Je travaille avec Word XP.
Merci d'avance.
BugFactory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 19h08   #2
Expert Confirmé
 
Avatar de zazaraignée
 
Étudiant
Inscription : février 2004
Messages : 3 173
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 3 173
Points : 3 543
Points : 3 543
Affiche l'éditeur VBA (Alt+F11) et regarde le code qui est dans ThisDocument.
__________________
  • Pour les nouveaux : Mode d'emploi et aide aux nouveaux
  • et impérativement les règles du forum. Histoire de garder une ambiance amicale.
  • Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
  • Je ne réponds pas aux questions posées par MP.
zazaraignée est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2006, 19h36   #3
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 850
Points : 16 850
Envoyer un message via Skype™ à bbil
Si tu ne peu pas accéder à ce menu en "mode personnalisé".. fait une recherche globale du texte associé as celui-ci dans ton code...
bbil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 10h42   #4
Membre chevronné
 
Inscription : octobre 2005
Messages : 634
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 634
Points : 678
Points : 678
Zazaraignée, merci pour ton aide mais ce n'est pas la question! J'ai même précisé que je peux lire les macros.

Bbil, je ne comprends pas ce que tu veux dire. De quel texte associé parles-tu?
BugFactory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 10h55   #5
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Juste une idée (je n'ai jamais eu à le faire)
Compte les boutons de ta barre d'outils personnalisée et utilise "OnAction" pour récupérer le nom des macros de chaque bouton

Citation:
Envoyé par L'aide
OnAction : Renvoie ou définit le nom d'une macro exécutée quand l'objet spécifié est sélectionné. Type de données String en lecture-écriture.
Remarque
Définir cette propriété pour un élément de menu remplace toutes les informations d'aide personnalisées de cet élément par les informations de la macro assignée.
Tu dis

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 12h37   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Désolé, comme ton problème m'intéressait, j'ai cherché la solution mais n'ai pas trouvé, ni dans OnAction, ni dans les propriétés des CommandBarButton, la solution pour retrouver le nom de la macro
Si de ton côté tu trouves quelque chose, n'hésite pas à nous l'indiquer.
J'ai fait ça... entre autres, mais qui ne donne pas le résultat escompté

Code :
1
2
3
4
5
6
7
8
9
 
Sub BarreDoutilsPersoRelireNomsMacros()
'NbControls = CommandBars("Personnalisé 1").Controls.Count
MsgBox NbControls
For Each Controle In CommandBars("Personnalisé 1").Controls
    i = i + 1
    MsgBox Controle.Caption & "  " & CommandBars("Standard").Controls(i).DescriptionText 
Next Controle
End Sub
A+

MANUELLEMENT, c'est possible
Clic droit sur la barre d'outils -> Personnaliser -> Clic droit sur le bouton -> Affecter une macro -> Le nom de la macro apparaît.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 13h59   #7
Membre chevronné
 
Inscription : octobre 2005
Messages : 634
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 634
Points : 678
Points : 678
C'est bizarre le choix affecter une macro n'apparaît ni sur mon poste sous Word XP ni sur monb portable avec Word 2000. Y a-t-il quelque chose à configurer?
BugFactory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 15h07   #8
Expert Confirmé
 
Avatar de zazaraignée
 
Étudiant
Inscription : février 2004
Messages : 3 173
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 3 173
Points : 3 543
Points : 3 543
C'est un document créé par le modèle ou le modèle lui-même que tu as ouvert?
__________________
  • Pour les nouveaux : Mode d'emploi et aide aux nouveaux
  • et impérativement les règles du forum. Histoire de garder une ambiance amicale.
  • Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
  • Je ne réponds pas aux questions posées par MP.
zazaraignée est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 15h29   #9
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Autant pour moi.
Quand tu fais personnaliser, tu séletionnes le bouton (clic gauche) et, dans la fenêtre "Personnaliser" tu sélectionnes "Modifier la sélection" et là, tu as "Affecter une macro"
Désolé, je l'ai bien vu mais j'ai été interrompu et j'ai mis n'importe quoi...

(jai office 97)

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2006, 19h38   #10
Membre chevronné
 
Inscription : octobre 2005
Messages : 634
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2005
Messages : 634
Points : 678
Points : 678
Cette manipulation m'amène au même menu que le menu contextuel. J'utilise Word XP, c'est probablement pourquoi.

J'ai essayé d'ouvrir le document aussi bien que le modèle, sans succès.
BugFactory est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h47.


 
 
 
 
Partenaires

Hébergement Web