DLL

rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009 - 15 juil. 2006 à 12:21
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 16 juil. 2006 à 00:27
Je souhaite utiliser une DLL écrite en C++ qui permet de faire des calculs numériques en multip-précision.

Comment fait-on pour utiliser une DLL dans un projet VBA ?

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
15 juil. 2006 à 12:56
Salut !

Je ne te garanti pas que l'image s'affiche !

Va dans Outil, Référence (de VBA) puis sélectionne Parcourir.

Là t'as plus qu'à chercher la dll que tu veux

Mortalino%0D%0A%0D%0ALe%20myst%E9rieux%20chevalier%2C%20%26quot%3BProven%E7al%2C%20le%20Gaulois%26quot%3B%0D%0A
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
15 juil. 2006 à 15:18
Hmmm... Il faut déclarer le prototype de chaque fonction dans l'en-tête de formulaire afin de pouvoir l' utiliser dans le code.


Par exemple

Private Declare Function GetTickCount Lib "kernel32" () As Long

...Déclare la fonction gettickcount qui est dans kernel32.dll, elle retourne un long.

Attention aux équivalences de types entre VB et le langage C.

Salut :)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 juil. 2006 à 18:16
salut,
en effet l'explication de Mortalino est pour les dll activex (donc pas en C++)

celles en C, comme une API (comme l'a dit katsankat). elle doit être placée soit dans le rep de l'appli (de xls pour le coup), soit dans le rep système. (peut-être en VBA plutôt dans le rep de l'office, donc excel.exe par exemple. à vérifier)

la dll n'a pas à être enregistrée mais elle doit être faite de manière à être utilisable..., toutes ne le sont pas.
voir les exemples sur VBF ou CPP
++
PCPT   [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 juil. 2006 à 00:27
Une DLL spécifique pour un classeur Excel ira très bien dans le dossier du xls, évitera de polluer la partition system avec des tas de DLLs.
Suffit de placer un appel SetCurrentDirectory() avec le ThisWorkbook.path dans l'event 'open' du xls.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous