IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

[VBA-W]Trouver la macro exécutée par une commande d'un menu personnalisé.


Sujet :

VBA Word

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    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.

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Affiche l'éditeur VBA (Alt+F11) et regarde le code qui est dans ThisDocument.

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    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...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    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?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    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+

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    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?

  8. #8
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    C'est un document créé par le modèle ou le modèle lui-même que tu as ouvert?

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    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+

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    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.

Discussions similaires

  1. Macro exécutée par une combinaison de touches
    Par Yvouille dans le forum VBA Word
    Réponses: 7
    Dernier message: 07/05/2010, 09h10
  2. Réponses: 2
    Dernier message: 22/12/2008, 09h58
  3. lire une macro definie par une variable
    Par L'elfe d'Azur dans le forum C
    Réponses: 5
    Dernier message: 20/09/2008, 14h29
  4. Suppression d'une macro VB par une macro : Problème " Mode Arrêt "
    Par CGANE dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/05/2008, 15h50
  5. VBA, graphiques : Acceder au Range pointé par une série
    Par CCHEVALIER dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/09/2005, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo