Créer une DLL en VB.NET et l'expliter deouis VBA excel [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
21 août 2010
-
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,

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 ?

Merci pour votre aide éventuelle

Yannick
A voir également:

5 réponses

Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
22
Salut,

Avec VB.Net c'est possible, il suffit de rendre l'objet visible par COM (ActiveX)

Voir ici

@+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
"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.

ciao...
BruNews, MVP VC++
Messages postés
8
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
21 août 2010

Merci !

Yannick
Messages postés
8
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
21 août 2010

Merci BruNews

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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
Le couple C (pour le cadre applicatif) et ASM (pour les fonctions de calculs lourds) est absolument imbattable et de TRES loin.

ciao...
BruNews, MVP VC++