Bonjour,
Je vous explique en detail mon projet.
Dans une feuille excel j ecris dans une cellule une fonction du genre :
qui me renvoie par exemple un double.
Je declare dans VBA :
Private Declare Function checkmat Lib "c:\dll\mat.dll" ( ByRef mat() As Double) As Double
Le code de ma DLL est le suivant :
(j ai integre auparavant les librairies d excel.exe)
1 2 3
| double __stdcall checkmat(ArrayDouble2 & mat) {
return 22; // pour commencer
} |
J ai utilise le type ArrayDouble2 (defini dans oletype.h) car j avais vu du code dans lequel cela marchait bien. Mais je ne pas le repliquer.
Si je passe un argument comme un double , ca marche mais pas avec un vecteur ou une matrice.
J ai essayé avec des VARIANT des SAFEARRAY mais ca ne marche pas. J ai toujours un #VALUE en retour de ma fonction dans Excel.
J espere que vous pourrez m aider
Merci par avance
Partager