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 PowerPoint Discussion :

Lancer une macro dans PPT à partir d''Excel [PPT-2003]


Sujet :

VBA PowerPoint

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 851
    Points : 581
    Points
    581
    Par défaut Lancer une macro dans PPT à partir d''Excel
    Bonjour,

    A partir d'Excel 2003, je crée une présentation PPT 2003 et exécute ensuite un code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set Pwpt = CreateObject("PowerPoint.Application")
    Pwpt.Visible = True
    Set PresPpt = Pwpt.Presentations.Open(Filename:=Templates_Path_id & "\" & Template_Name, Untitled:=msoTrue)
    Pwpt.Activate
    Pwpt.ActivePresentation.SaveAs File_id
    Pwpt.Run "Create_Statistiques_2_Entity_Depuis_Excel"
    Ma macro "Create_Statistiques_2_Entity_Depuis_Excel" s'exécute bien si elle se trouve dans le document ppt créé (et donc à l'origine dans le modèle) mais elle ne s'exécute pas si elle se trouve seulement dans la macro complémentaire .ppa chargée dans PPT

    Comment faire pour que la macro "Create_Statistiques_2_Entity_Depuis_Excel" soit recherchée dans la macro complémentaire et non dans le nouveau fichier ppt créé?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 851
    Points : 581
    Points
    581
    Par défaut
    En fait, le problème semble venir du fait que la macro "Create_Statistiques_2_Entity_Depuis_Excel" est appelée alors que la macro complémentaire n'a pas encore eu le temps de se charger.

    Si Powerpoint est déjà ouvert, cela marche

    Comment puis-je contourner ce problème et attendre que la macro complémentaire soit chargée avant de poursuivre?

    Merci

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

    C'est juste une hypothèse, mais mets l'instruction DoEvents à la fin de ta macro complémentaire pour voir si cela change quelque chose.

    Philippe

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 851
    Points : 581
    Points
    581
    Par défaut
    Ca a l'air de marcher

    Merci

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 851
    Points : 581
    Points
    581
    Par défaut
    En fait ca ne marche pas à tous les coups

    J'ai ajouté ceci avant l'appel de la macro PPT :

    For i = 1 To 1000: Next
    et là ça marche, PPT a le temps de s'ouvrir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une macro Word a partir d'une page Web
    Par Tcho85 dans le forum VBA Word
    Réponses: 1
    Dernier message: 01/10/2009, 02h58
  2. Lancer une macro dans un onglet
    Par nono1712 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/02/2009, 19h24
  3. Problème pour lancer une macro dans Excel
    Par jujuf1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/12/2008, 17h32
  4. Lancer une macro dans une procedure vba
    Par pascalourox dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/08/2008, 16h39
  5. Réponses: 9
    Dernier message: 25/01/2006, 16h35

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