Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Cmment créer une DLL avec VB6 utilisable avec VBA

5 réponses
Avatar
rlapt1
Bonjour,

Je souhaite pour des raisons de confidentialité créer des DLL avec VB6 et
les appeler sous VBA pour EXCEL, WORD ou ACCESS.
J'ai fait un essai de création de DLL à partir de VB6. J'arrive à l'appeler
sous VB6 mais pas sous VBA.

Si cela est possible, pouvez-vous me fournir la solution ?

Merci d'avance

5 réponses

Avatar
rlapt1
Rebonjour,

En fait ma question n'est peut être pas très claire.
En fait, je souhaite stocker des procédures et des fonctions dans des DLL
programmées sous VB6 et pouvoir les appeler dans des macros VBA (Excel, Word
ou Access).

Remerci d'avance.

"rlapt1" a écrit :

Bonjour,

Je souhaite pour des raisons de confidentialité créer des DLL avec VB6 et
les appeler sous VBA pour EXCEL, WORD ou ACCESS.
J'ai fait un essai de création de DLL à partir de VB6. J'arrive à l'appeler
sous VB6 mais pas sous VBA.

Si cela est possible, pouvez-vous me fournir la solution ?

Merci d'avance


Avatar
Patrick Philippot
Bonjour,

rlapt1 wrote:
Je souhaite pour des raisons de confidentialité créer des DLL avec
VB6 et les appeler sous VBA pour EXCEL, WORD ou ACCESS.
J'ai fait un essai de création de DLL à partir de VB6. J'arrive à
l'appeler sous VB6 mais pas sous VBA.



Avec VB6, vous ne pouvez pas créer de DLLs standard au sens strict du terme,
c-à-d exportant des fonctions. Vous pouvez seulement créer des ActiveX DLLs
contenant des objets COM exposant les fonctionnalités que vous souhaitez
exporter. Si cette approche convient (ce qui semble être le cas pour une
utilisation en VBA), c'est le type de projet à utiliser.

Il existe un ou deux outils dans le commerce permettant de créer des DLLs
standard avec VB6 mais leur emploi n'est pas généralisé.

http://www.vbadvance.com/download.aspx (devenu gratuit)
http://simplysolutions.com/

Il y a aussi des articles décrivant comment bricoler une DLL en VB6:
http://www.windowsdevcenter.com/pub/a/windows/2005/04/26/create_dll.html?page=1
http://vb-helper.com/howto_make_standard_dll.html

Je ne pense pas que ce genre de pratique soit supporté par MS. Et je ne
saurais officiellement recommander cette méthode. Le meilleur choix est
certainement de passer par une ActiveX DLL.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
rlapt1
Bonjour,

Merci d'avoir passé du temps à m'aider sur ce problème.

Je dois maintenant digérer et évaluer toutes ces informations .


"Patrick Philippot" a écrit :

Bonjour,

rlapt1 wrote:
> Je souhaite pour des raisons de confidentialité créer des DLL avec
> VB6 et les appeler sous VBA pour EXCEL, WORD ou ACCESS.
> J'ai fait un essai de création de DLL à partir de VB6. J'arrive à
> l'appeler sous VB6 mais pas sous VBA.

Avec VB6, vous ne pouvez pas créer de DLLs standard au sens strict du terme,
c-à-d exportant des fonctions. Vous pouvez seulement créer des ActiveX DLLs
contenant des objets COM exposant les fonctionnalités que vous souhaitez
exporter. Si cette approche convient (ce qui semble être le cas pour une
utilisation en VBA), c'est le type de projet à utiliser.

Il existe un ou deux outils dans le commerce permettant de créer des DLLs
standard avec VB6 mais leur emploi n'est pas généralisé.

http://www.vbadvance.com/download.aspx (devenu gratuit)
http://simplysolutions.com/

Il y a aussi des articles décrivant comment bricoler une DLL en VB6:
http://www.windowsdevcenter.com/pub/a/windows/2005/04/26/create_dll.html?page=1
http://vb-helper.com/howto_make_standard_dll.html

Je ne pense pas que ce genre de pratique soit supporté par MS. Et je ne
saurais officiellement recommander cette méthode. Le meilleur choix est
certainement de passer par une ActiveX DLL.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr






Avatar
ccmjoe
Le lundi 16 Juillet 2007 à 22:50 par rlapt1 :
Bonjour,
Je souhaite pour des raisons de confidentialité créer des DLL
avec VB6 et
les appeler sous VBA pour EXCEL, WORD ou ACCESS.
J'ai fait un essai de création de DLL à partir de VB6. J'arrive
à l'appeler
sous VB6 mais pas sous VBA.
Si cela est possible, pouvez-vous me fournir la solution ?
Merci d'avance
J'arrive peut-être un peu tard mais bon un sujet peut être d'actualité même longtemps après.
Je viens de terminer un tutoriel qui explique comment créer une DLL utilisable en VB/VBA. J'ai donné un exemple de fonction pour détailler l'ensemble de la procédure.
Les vidéos et les différents types de fichiers se trouvent sur cette page :
http://www.joseouin.fr/logiciels/creation-d-une-dll-pour-vb-vba
Tous les fichiers sont téléchargeables à cette adresse.
Bonne journée.
Joe.
Avatar
ccmjoe
Le lundi 16 Juillet 2007 à 22:50 par rlapt1 :
Bonjour,
Je souhaite pour des raisons de confidentialité créer des DLL
avec VB6 et
les appeler sous VBA pour EXCEL, WORD ou ACCESS.
J'ai fait un essai de création de DLL à partir de VB6. J'arrive
à l'appeler
sous VB6 mais pas sous VBA.
Si cela est possible, pouvez-vous me fournir la solution ?
Merci d'avance
Bonjour à tous,
Je reviens sur ce post un mois après pour vous proposer des tutoriels pour la réalisation de DLL avec VB.NET utilisable avec le VBA d'Excel. Ceux-ci répondent aux questions :
* Comment créer une DLL (développée en langage VB.NET et non pas en C++) ?
* Comment appeler les fonctions d'une DLL (librairie de classe) en langage VBA Excel ?
* Comment déployer une production (fichiers Excel et librairies DLL) à l'aide d'un logiciel d'installation (Windows Installer) ?
Une librairie de classe peut également être utilisée pour piloter Excel via les fonctions de la DLL.
La page se trouve ici : http://joseouin.fr/logiciels/creation-dll-pour-excel-en-vb-net
Je suis heureux de pouvoir proposer à mon tour des tutoriels car j'ai découvert énormément de choses grâce aux tutoriels des autres et c'est ma manière à moi de les remercier aujourd'hui pour tout ce qu'ils m'ont appris.
Bonne journée à tous.
CCMJoe.