ZiDub
Messages postés2Date d'inscriptionvendredi 27 avril 2007StatutMembreDernière intervention 1 mai 2007
-
27 avril 2007 à 23:22
ZiDub
Messages postés2Date d'inscriptionvendredi 27 avril 2007StatutMembreDerniè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 ?
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>