Aller au contenu

Migrer code Macro Vba en vb. Net Excel


Messages recommandés

Posté(e)

Bonjour a tous,

 

J'ai de nombreuses macro Excel qui me permettent d'importer, d'exporter et de dessiner des entites d'AutoCad.

Je suis dans Le cas ou Excel pilote AutoCAD.

Si Vba est ammene a disparaitre d'AutoCAD, mes macros ne marcheront plus normal Mais comment en vb net et surtout Quel logiciel de programmation gratuit dois Je utiliser pour Developper des applications avec une interface UserForm pour les remplacer.

 

Par contre, rassurez moi, Vba ne va pas disparaitre d'Excel car ce serait vraiment la galere la.

J'ai Vu qu'Autodesk conseille de migrer vers Le vb. Net Mais il y a tres peu d'exemples sur les codes Autocad en vb. net.

Mais peut on en vb.net piloter Excel et Autocad avec une seule interface ?

 

Merci par avance de vos eclaircissement.

John

 

Posté(e)

Salut

 

Si Autodesk abandonne le VBA, c'est parce que ce langage (propriété Microsoft) n'est pas prévu pour les systèmes 64 bits et que Microsoft a cessé de développer ce langage (ainsi que VB6) préférant tout miser sur leur nouvelle plateforme : .NET.

Autodesk qui avait foncé dans la promotion du VBA est devenu (par force) aujourd'hui grand promoteur de .NET.

 

Si Microsoft conseille encore d'installer Office 2010 32 bits même sur les systèmes 64 bits, Autodesk, qui favorise les systèmes 64 bits pour AutoCAD (de plus en plus gourmands) depuis la version 2008 annonce officiellement la disparition de VBA d'AutoCAD depuis la version 2010 tout en accordant des sursis aux développeurs pour effectuer leur migration vers .NET.

 

On peut donc raisonnablement penser que VBA va prochainement être définitivement abandonné dans AutoCAD et, à terme, disparaître aussi d'Office.

En attendant, VBA continue de fonctionner dans AutoCAD et Office malgré quelques soucis avec les versions 64 bits (Office et AutoCAD).

 

Même si VBA est abandonné par AutoCAD, il n'est pas certain que des applications VBA Excel vers AutoCAD ne continuent pas à fonctionner : il ne faut pas confondre le langage dans lequel est écrit un programme et l'Interface de Programmation pour Application (API) utilisé par celui-ci (COM Automation/ActiveX pour VB(A)). L'API COM/ActiveX d'AutoCAD continue d'être supportée (cette interface est accessible via Visual LISP, les langages .NET et, bien sûr ObjectARX/C++).

 

La migration vers .NET (quelque soit le langage VB, C# ou F#) n'est pas une chose très aisé quand on vient de langages de plus haut niveau et mieux intégrés à AuotCAD (comme LISP ou VBA). L'apprentissage est plus long et plus exigeant, mais la puissance (pas uniquement en terme de performances, mais surtout au niveau des possibilités) est au rendez-vous.

 

Concernant le choix du langages, je répète que la ressemblance de syntaxe entre VB.net et VBA ne devrait pas être un critère déterminant : l'apprentissage d'une nouvelle syntaxe étant vraiment minime par rapport à l'apprentissage de la plateforme .NET, de Visual Studio, de la Programmation Orientée Objet.

VB et C# ne diffèrent quasiment que par leur syntaxes, par contre, de ce que j'ai pu voir sur le NET, il y a plus d'exemples pour AutoCAD en C# qu'en VB (mais on trouve des convertisseurs sur le web) ainsi que, plus d'aide apportée par des programmeurs C#.

Ceci s'explique parce qu'historiquement, quand .NET arrive dans AutoCAD (première version à supporter .NET : 2005, première version installant automatiquement le Framework .NET : 2006) ce sont d'abord les programmeurs ObjectARX/C++ qui l'utilisent (ce qui correspond pour eux à utiliser un langage de plus haut niveau, donc globalement plus facile).

Ce n'est que depuis les annonces de l'abandon de VBA qu'arrivent plus nombreux sur les forums les programmeurs VBA voulant faire une migration vers VB.net. Ces derniers étant le plus souvent demandeurs, ce sont les programmeurs C# plus aguerris qui leur répondent majoritairement, mais ceci devrait évoluer...

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci Gile pour cette réponse.

 

Même si

VBA est abandonné par AutoCAD, il n'est pas certain que des applications VBA Excel vers AutoCAD ne continuent pas à fonctionner : il ne faut pas confondre le langage dans lequel est écrit un programme et l'Interface de Programmation pour Application (API) utilisé par celui-ci (COM Automation/ActiveX pour VB(A)). L'API COM/ActiveX d'AutoCAD continue d'être supportée (cette interface est accessible via Visual LISP, les langages .NET et, bien sûr ObjectARX/C++).

Il faut donc du moins c'est conseillé que je migre toutes mes appli vers le vb.net

Et quel logiciel utilisé pour développer des appli sous AutoCAD ?

J'ai entendu parler de Visual Studio,ou encore Visual Express Studio,

Est ce bien çà ?

 

Merci par avance de tes réponses.

 

John

Posté(e)

Pour développer en .NET (des applis AutoCAD ou autre) il est grandement préférable d'utiliser un IDE (Environnement de Développement Intégré) même s'il est possible d'écrire du code dans le bloc-note et de compiler depuis la console de commande.

Le plus populaire pour .NET est Visual Studio dont les versions Express sont gratuites.

Tu peux voir ce sujet et ce tuto, il te faudra trouver une version 2008 de Visual Studio Express pour pouvoir utiliser l'utilitaire DotNetArx.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Donc, on peut dans Autocad développer une appli en .NET.

Pas besoin de Visual Studio alors non ??? ou alors j'ai mal compris ?

 

Merci encore de ton aide précieuse.

Posté(e)

Donc, on peut dans Autocad développer une appli en .NET.

Pas besoin de Visual Studio alors non ??? ou alors j'ai mal compris ?

 

Non, tu as mal compris.

D'ailleurs, je ne vois où tu as pu comprendre dans ce que j'ai dis (ou dans les liens que j'ai donné) qu'on pouvait développer en .NET depuis AutoCAD ?!

 

As tu lu les sujets que j'ai donné en lien ?

 

Si tu veux te lancer dans l'aventure .NET, tu risques de devoir un peu plus retrousser tes manches.

Avant de programmer en .NET pour AutoCAD il est nécessaire de connaitre au préalable les bases de cette technologie en programmation Windows, l'utilisation de Visual Studio et les fondements de la POO.

Ce qui nécessite, à mon avis, l'achat d'au moins un livre et l'exécution de quelques tutos, Tony Tanzillo (programmeur AutoCAD qu'il n'est plus besoin de présenter) recommande d'apprendre .NET dans l'environnement Windows pendant au moins un an avant de commencer à programmer AutoCAD.

 

En bref, ce n'est pas en demandant sur ce forum (ou d'autres) que chaque détail te soit expliqué que tu arriveras à apprendre quelque chose d'aussi vaste que la programmation .NET.

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci pour tes reponses Gile.

J'ai Lu vite fait les liens Donne Mais ce n'est apparemment pas simple Le vb net

Si on pourrait au moins programmer vb net sous AutoCAD comme Le lisp ou Le Vba ca serait pas mal.

Tu as parle de IDE d'ou ma question precedente.

Je vais me pencher sur Le vb.net plus en detail.

Merci encore de tes reponses.

 

John

 

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité