Bonjour Remi et AAlex !
Remi, ici c'est un forum VBA dédié aux applications Office (Word, Excel, PowerPoint, Access, Outlook, Visio...).
Mais nous essayons aussi de répondre (de nôtre mieux) aux questions VBA pour d'autres applications hôtes, notamment pour des applications CAO ou SIG.
Pour ce qui concerne MicroStation, il faut que tu étudies son modèle objet programmable avec VBA.
Dans les applications Office, l'objet Application offre une méthode Run() qui permet d'exécuter une procédure appartenant à un des projets actuellement chargés par l'application.
C'est ce que AAlex a donné comme exemple avec Excel.
Mais il n'est pas certain que cette méthode Run() soit proposée par le modèle objet de MicroStation.
En revanche, il me semble que MicroStation V8 propose une méthode permettant de réaliser un envoi de commandes (key in) au moyen de l'objet CadInputQueue accessible par l'objet Application.
Par exemple, pour exécuter une macro VBA (on va l'appeler LaMacro) dans un projet déjà chargé:
Application.CadInputQueue.SendKeyin "VBA RUN LaMacro"
Peut être aussi, pour charger un projet (nommé LeProjet) et exécuter une macro de ce projet:
Application.CadInputQueue.SendKeyin "VBA RUN [LeProjet]LaMacro"
Il faut que tu étudies de très près les possibilités de CadInputQueue (SendCommand, SendKeyin etc.) dans l'aide en ligne.
Autre piste, référencer un fichier bibliothèque:
Dans l'environnement VBA, il est prévu qu'un projet puisse en référencer un autre, de manière à pouvoir exécuter et utiliser les procédures et classes publiques qui y sont déclarées: c'est le principe d'une bibliothèque de code.
Pour celà, dans VBE (l'environnement de développement intégré de VBA) on déroule le menu Outils et on exécute la commande [Références...] pour accéder à une boîte de dialogue dans laquelle on ajoute les fichiers bibliothèques spécifiques à l'application (ici MicroStation) via le bouton [Parcourir...] qui te permet de sélectionner les fichiers des projets bibliothèques (en pensant bien à sélectionner le type de fichier qui convient).
Tiens nous informés ! 
_
Partager