Ouvrir un MS Project depuis une macro Excel

ZiDub Messages postés 2 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 mai 2007 - 27 avril 2007 à 23:22
ZiDub Messages postés 2 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 mai 2007 - 1 mai 2007 à 18:28
Help !
Dans le cadre du projet sur lequel je travaille en ce moment, j'ai bricolé quelques macros qui me permettent de construire des outils de pilotage dans Excel, sur la base d'exports de données depuis un planning MS Project.
Pour que ce soit un peu plus pratique, je voulais rattacher toutes ces macros à des push-buttons dans un formulaire excel.
Sauf que je ne sais pas trop comment m'y prendre pour lancer mon fichier mpp depuis excel (tous les fichiers sont dans le même dossier).
Quelqu'un pourrait m'éclairer ?

Merci
A voir également:

2 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
1 mai 2007 à 14:06
Salut 1047659 ZiDub,

je ne suis pas sûr d'avoir compris le besoin, mais je me lance.

Piloter Excel, Word ou Project, en VBA, c'est du pareil au même! Tous offrent une interface accessible via Automation. Ce qu'il faut commencer à faire, c'est ajouter dans le projet VBA, la référence à la bibliothèque qui t'intéresse (Menu Outils>>Références).

Ici, par exemple, tu choisiras 'Microsoft Project 11.0 Object Library' (si c'est bien sûr la version dont tu disposes), qui correspond à la biliothèque de type MSPRJ.OLB.

Une fois ceci fait, en appuyant sur [F2], tu peux accéder à l'explorateur d'objet, et en sélectionnant 'MSProject' dans la combo en haut à gauche, tu peux observer le modèle objet exposé par cette bibliothèque.

Ce qu'il y a de bien en VBA Office, c'est que les modèles se ressemblent tous un peu. Il faut d'abord créer l'objet Application, pour ensuite accéder à ces méthodes d'ouverture de fichier. Grâce à l'explorateur de projets, et si Project a été bien installé, tu accèdes directement à l'aide contextuelle de chacun des membres visibles, en appuyant sur [F1] avec un membre sélectionné.

Ici par exemple, en sélectionnant Application, tu obtiens l'exemple suivant :

Dim pj As Object

Set pj = CreateObject("MSProject.Project")
pj.Application.FileOpen "My Project.mpp"

mais on aura bien compris que, puisqu'on a une référence dans le projet, on peut aussi écrire :

Dim pjTemp As MSProject.Application


    Set pjTemp = New MSProject.Application
    pjTemp.FileOpen "My Project.mpp"
   
et on oubliera pas, lorsque l'on aura fini :

    pjTemp.Quit
    Set pjTemp = Nothing

voilà, je te laisse continuer tes investigations, et si tu recontres des problèmes, n'hésites pas à en parler à la communauté.

à+






rvblog<sup>n
Je veux ton bien....et je l'aurais....mieux vaut tard...que trop tard!</sup>
1
ZiDub Messages postés 2 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 mai 2007
1 mai 2007 à 18:28
ok merci
je vais regarder ça

ZiDub
0
Rejoignez-nous