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

Powerpoint Discussion :

Lancer une Macro via la barre d'accès rapide


Sujet :

Powerpoint

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Lancer une Macro via la barre d'accès rapide
    Bonjour,

    J'ai développé une macro qui met à jour une table des matières dans un slide.

    Je cherche donc à mettre en place une méthode pour exécuter cette macro simplement (je ne veux pas passer par le bandeau développeur car je souhaite donner accès à cette macro le plus simplement possible à des personnes ne maîtrisant pas les macros office).

    Je ne trouve aucun moyen de lancer une macro simplement sans passer en mode diaporama ce que je ne souhaite pas.

    J'ai une piste, associer ma macro à un bouton dans la barre d'accès rapide du fichier PPT.

    Cela fonctionne sauf que lorsque je renomme le fichier, rien ne marche plus car le lien vers la macro embarque le nom du fichier (grande idée de Microsoft !).

    Ce qui est bizarre c'est que cette méthode fonctionne très bien avec Excel 2007, en effet, en effectuant la même manipulation dans Excel 2007, le nom du fichier n'est pas présent dans le lien vers la macro. Seul le nom de la macro compte.

    Bref, observant cela, je me suis dit que j'allais, via une macro, virer le nom du fichier devant le nom de la macro présent dans le liens de la barre d'accès rapide.

    Et là je bloque, je ne trouve aucune documentation concernant les objets VBA de cette barre d'accès rapide.

    Si l'un d'entre vous à une idée je suis vraiment preneur !

    Guillaume

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Excel comporte un classeur où se trouve toutes les macros qui peuvent être utilisées partout, ce qui n'est pas le cas sous PPT.

    As-tu essayé avec un complément ? (Voir les tutos sur PPT).
    Mais un complément sera pour toutes les présentations de ton PC.

    Philippe

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci pour cette réponse.

    Effectivement, j'ai essayé avec les compléments mais par ce biais, le bouton lançant la macro n'est pas lié à la présentation mais au PC, je m'explique :
    si j'envoie ma présentation par mail, mon correspondant ne verra pas le boutons personnalisés permettant d’exécuter la macro dans sa barre de complément.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Cela fonctionne sauf que lorsque je renomme le fichier, rien ne marche plus car le lien vers la macro embarque le nom du fichier (grande idée de Microsoft !).
    Il y a peut-être quelque chose à faire dans le code pour le nom du fichier soit dynamique, pour cela il faudrait le code.

    Philippe

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Je pense aussi qu'il doit être possible de faire quelque chose dans le code.
    Pour l'instant mon code est hyper simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    MsgBox "test"
    End Sub
    Le but étant de lancer la macro "test" via un bouton de la barre de lancement rapide.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Sous quel format est enregistré le fichier finale, quelle est l'extension ?

    Philippe

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Évidemment l’extension est ".pptm"
    je n'ai aucun problème avec la macro que j'arrive à lancer via le bandeau développeur. La macro fonctionne bien quel que soit le nom du fichier PPT.

    Le problème est d'arriver à exécuter cette macro sans passer par le bandeau "développeur" car ça ne passera pas avec mes utilisateurs.

  8. #8
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    La solution, serait peut-être de créer le bouton que tu veux de façon dynamique à l'ouverture de ton PPTM.

    Donc un module de classe pour activer les évènementiels de l'Application PPT.
    voir : AfterPresentationOpen OK 2007 dans : http://arkham46.developpez.com/artic...int/events/#LX

    et un bout de code pour la création dynamique ce qui devrait être possible selon ce qui est dit ici :
    http://msdn.microsoft.com/fr-fr/libr...ice.12%29.aspx

    You assign functionality to the components by using any programming language supported by Microsoft Visual Studio 2005, such as Microsoft Visual Basic and Microsoft Visual C#, and also Microsoft Visual Basic for Applications (VBA), Microsoft Visual C++, and Microsoft Visual Basic 6.0.
    Bon le plus simple serait peut-être si le contexte le permet d'utiliser les évènementiels pour mettre à jour la table sans lancement volontaire d'une macro, voir la liste des évènements dans le lien DVP ci-dessus (PresentationNewSlide ?), vu qu'il est impossible de former les utilisateurs à l'onglet développeur.

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  9. #9
    Candidat au Club
    Femme Profil pro
    Chargé de référencement
    Inscrit en
    Décembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Aruba

    Informations professionnelles :
    Activité : Chargé de référencement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 1
    Points : 3
    Points
    3
    Par défaut
    Bonjour, et désolé de ce déterrage.

    Simplement, pour avoir cherché longtemps, je partage ma solution :

    1°)Créez votre macro, que vous enregistrez dans un fichier *.pptm. Pour l'exemple, nous l’appellerons "MesMacrosPPT.pptm"
    2°)Créez un lien dans la barre d'outils accès rapide vers votre macro. Exportez votre barre d'accès rapide.

    Voilà pour la partie facile.

    3°)Enregistrez "MesMacrosPPT.pptm" au format *.ppam. Attention, conservez bien "MesMacrosPPT.pptm", car les modifs à venir seront à faire dans ce fichier, le format *.ppam n'étant disponible qu'en lecture seule. Pour exemple, nous l’appellerons "MesMacroComplémentaires.ppam".

    4°)Comme dans Word, ou Excel, chargez le complément via les options. Ne vous inquiétez pas si les macros du ppam ne sont pas visibles, c'est normal.

    5°)Avec un éditeur de texte, ouvrez le fichier que vous avez créé en 3°) lors de l'export de votre barre d'outils accès rapide. Remplacez toutes les instances de "MesMacrosPPT.pptm" (sans les guillemets) par "MesMacroComplémentaires.ppam" (sans les guillemets bien sûr!). Enregistrez et fermez.

    6°)Dans Powerpoint, retournez dans options\barre d'outils accès rapide, et importez le fichier que vous venez de créer.

    Ouf ! ça y est!

    L'avantage de la solution, c'est qu'elle ne fait pas intervenir le chemin du PC. Après pour le déploiement, c'est un peu complexe, il faut expliquer aux users comment charger le fichier de macros complémentaires : copier le ppam dans "C:\Users\XXX\AppData\Roaming\Microsoft\AddIns\", puis le charger en tant que complément dans powerpoint, puis leur faire charger la barre d'accès rapide que vous avez créé. Peut-être que quelqu'un connait une méthode plus automatisée ? Auquel cas je suis preneur, quel que soit l'outil office.

    [Optionnel] Pour voir les macros du PPAM dans le gestionnaire de projets, il faut aller dans la base de registre et créer une nouvelle clé DWORD :
    - Fermer PowerPoint, ouvrir la base de registre (il faut taper REGEDIT dans la zone de saisie du bouton Démarrer de Windows).
    - naviguez jusqu'à la clé de la base de registre : HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ x \ PowerPoint \ Options
    - Sélectionner ou créez la clé DebugAddins dans la partie droite, cliquer dessus avec le bouton droit, et choisir Modifier : puis mettre sa valeur à 1.
    Cette modif permet de passer en mode débug, de modifier la macro en live, etc... MAIS attention, le fichier reste en lecture seule. Et il n'y a aucun avertissement, car vous pouvez cliquer sur sauvegarder, sauf que si vous redémarrez, il n'y a rien de sauvegardé.

Discussions similaires

  1. [AC-2007] Lancer une macro excel via VBA?
    Par EmmanuelleC dans le forum VBA Access
    Réponses: 4
    Dernier message: 10/09/2010, 11h47
  2. [XL-2007] Lancer une Macro via VB.net
    Par Domino40 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/07/2010, 22h50
  3. Lancer une cmd via une macro
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/09/2007, 15h11
  4. Lancer une macro A via une macro B
    Par Selecteur dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/06/2007, 16h48
  5. [VBA-W] Impossible de lancer une macro via AddIns.Add
    Par massif dans le forum VBA Word
    Réponses: 1
    Dernier message: 06/09/2006, 15h52

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