Mon collègue affirme que ses macros Excel, interagissant avec AutoCAD, nécessitent des installations séparées d’AutoCAD et d’AutoCAD Map 3D (par exemple, versions 2019) pour fonctionner correctement, car elles ne seraient pas compatibles entre les deux. Est-ce exact et quelles sont les raisons techniques potentielles de tels problèmes de compatibilité ?
L’affirmation selon laquelle des installations séparées d’AutoCAD et d’AutoCAD Map 3D sont nécessaires pour la compatibilité des macros Excel est généralement incorrecte. AutoCAD Map 3D est une version d’AutoCAD qui inclut toutes les fonctionnalités de base d’AutoCAD, plus des outils spécifiques au SIG (Système d’Information Géographique) et à la cartographie. Par conséquent, une macro développée pour AutoCAD standard devrait fonctionner sans problème sous AutoCAD Map 3D.
Cependant, des problèmes de compatibilité peuvent survenir dans le sens inverse ou en raison de méthodes de programmation spécifiques. Voici les raisons techniques principales :
-
Utilisation de Fonctions Spécifiques à AutoCAD Map 3D :
- Si la macro Excel utilise des objets, des méthodes ou des propriétés spécifiques à l’API d’AutoCAD Map 3D (par exemple, pour manipuler des données d’objets (ODs), des topologies, des requêtes spatiales, etc.), elle ne fonctionnera pas avec une installation d’AutoCAD standard qui ne possède pas ces fonctionnalités. AutoCAD Map 3D est un sur-ensemble d’AutoCAD, mais l’inverse n’est pas vrai.
-
Références VBA Manquantes ou Incorrectes :
- Dans l’éditeur VBA d’Excel (Alt+F11 > Outils > Références), le projet doit référencer les bibliothèques d’objets AutoCAD appropriées (par exemple,
AutoCAD Type Library 2019). Si la macro a été développée avec des références à des bibliothèques spécifiques à Map 3D (ex:Autodesk Map 3D Object Library) et qu’elle tente de s’exécuter sur une machine avec seulement AutoCAD standard, ces références seront « manquantes » et la macro échouera. - Il est crucial de s’assurer que les références sont à jour et correspondent à la version d’AutoCAD installée et ciblée.
- Dans l’éditeur VBA d’Excel (Alt+F11 > Outils > Références), le projet doit référencer les bibliothèques d’objets AutoCAD appropriées (par exemple,
-
Méthodes de Connexion Rigides :
- Certains développements VBA se connectent à une instance d’AutoCAD ouverte en recherchant le titre de la fenêtre principale de l’application (par exemple,
FindWindowde l’API Windows). Si la macro recherche spécifiquement le titre « AutoCAD » et que l’application ouverte est « Autodesk MAP 3D », la connexion peut échouer. C’est une méthode de connexion moins robuste que l’utilisation de l’objetGetObjectouCreateObjectavec le ProgID (AutoCAD.Application).
- Certains développements VBA se connectent à une instance d’AutoCAD ouverte en recherchant le titre de la fenêtre principale de l’application (par exemple,
Conclusion :
Il est très probable que le problème de votre collègue provienne de l’une de ces raisons, en particulier l’utilisation de fonctionnalités Map 3D dans une macro qui est ensuite exécutée sur une version d’AutoCAD de base. Avoir AutoCAD Map 3D installé sur le poste devrait suffire pour exécuter toutes les macros, qu’elles soient conçues pour AutoCAD ou Map 3D, à condition que les références VBA soient correctement gérées et que la méthode de connexion soit flexible. Des installations séparées ne sont généralement pas la solution technique appropriée, mais plutôt un contournement d’un problème de conception de la macro ou de configuration des références.