Bonjour,
je suis débutant en C++ et j'aimerais pouvoir accélérer mes programmes VBA en créant des fonctions en C++(utilisable une dll).
Il y a énormement de chose sur internet sur la création de dll mais après avoir crée ma dll, j'ai une erreur VBA "erreur 53 - dll introuvable" que je n'arrive absolument pas à comprendre
voici le code de la dll (fonction square)
// fichier square.cpp
j'ai ensuite crée un fichier de définition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "square.h" int __stdcall square(int x) { return x*x; }
\\ DefFile.def
et un fichier d'en-tete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4LIBRARY "DLL_VBA2" EXPORTS square
\\square.h
La dll est alors générée et voila le code VBA pour l'appeler
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #define export __declspec (dllexport) export int __stdcall square(int);
Avec dependency walker, la fonction square contenue dans la dll est visible mais voilà le log que je récupère:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Declare PtrSafe Function square Lib "C:\DLL_VBA2.dll" (ByVal x As Integer) As Integer Sub test() Dim a As Integer Dim b As Integer a = 5 b = square(a) End Sub
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Toute idée est la bienvenue
Partager