Cmment créer une DLL avec VB6 utilisable avec VBA

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
rlapt1
Le #15351751
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


Patrick Philippot
Le #15351741
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
rlapt1
Le #15351581
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






ccmjoe Hors ligne
Le #26406094
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.
ccmjoe Hors ligne
Le #26407108
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.
Publicité
Poster une réponse
Anonyme