J'ai développé une grosse application VBA excel avec un tas de modules. Pour des raisons de performances et de dissimulation du code, j'aimerai progressivement remplacer certains modules VBA par des DLL contenant les mêmes fonctions et appelées par le code VBA.
J'ai essayé de créer un module de classe dll avec VB express 2010, mais je bute sur de nombreux problèmes (notamment le fait que la DLL encapsule tout dans des classes et que VBA me jette ensuite en prétendant qu'il n'y a pas d'entry point à la dll).
Sur Internet, je n'ai trouvé que des échanges confus, incomplets et contradictoires à ce propos.
D'où mes questions :
1 - Quelqu'un peut-il me dire s'il est possible de créer avec VB NET une DLL qui peut être référencée dans excel ?
Si on ne peut pas avec VB net, est-ce possible avec C# ou avec Visual C++ et comment ?
2- Si oui, comment fait-on référence dans excel à cette DLL et comment on peut appeler les fonctions de cette dll depuis VBA ?
"Pour des raisons de performance..."
En ce cas tout langage interprété (tel .NET) est à exclure.
Charger par dessus VBA une 2eme Virtual Machine par un appel COM ira à l'opposé de ce que tu penses obtenir, c'est encore plus lent à tout coup.
Donc j'évite de perdre mon temps.
VB.NET est également un langage interprété ?!?
C'est lamentable ... si je résume, en 2010, si on souhaite écrire une application qui ne rame pas, c'est C++ ou rien.
Yannick
Vous n’avez pas trouvé la réponse que vous recherchez ?