Bonjour,
J'ai créé un DLL C++ qui contient la fonction suivante :
Code C/C++ :
double __stdcall AdditionTableau_5(double * table1, double * table2, double * RetourTableau) {
int i;
for (i=0;i<5;i++) {
RetourTableau[i] = table1[i] + table2[i];
}
return 1.0;
}
Dans mon code VBA, je fais :
Code Visual Basic :
Declare Function AdditionTableau_5 _
Lib "D:\Documents and Settings\stage\Bureau\CPP\Test_DLL7\Debug\Test_DLL7.dll" (ByRef table1() As Double, ByRef table2() As Double, ByRef RetourTableau() As Double) As Double
Code Visual Basic :
Sub Fonction_Test3()
Dim Retour_F As Double
Dim table1(1 To 5) As Double
Dim table2(1 To 5) As Double
Dim RetourTableau(1 To 5) As Double
table1(1) = 1
table1(2) = 2
table1(3) = 3
table1(4) = 4
table1(5) = 5
table2(1) = 1
table2(2) = 2
table2(3) = 3
table2(4) = 4
table2(5) = 5
Retour_F = AdditionTableau_5(table1, table2, RetourTableau)
MsgBox (Retour_F)
End Sub
Quand j'essaie de voir ce qu'il y a dans RetourTableau, ça m'affiche un message d'erreur l'
indice n'appartient pas à la sélection.
Le tableau n'est pas non plus rempli lorsque je remplace :
Code Visual Basic :
Retour_F = AdditionTableau_5(table1, table2, RetourTableau)
par :
Code Visual Basic :
Retour_F = AdditionTableau_5(table1(1), table2(1), RetourTableau(1))
Ca me met comme message
Incompatibilité de type : tableau ou type défini par l'utilisateur attendu
Comment faire pour passer des tableaux en paramètre?
Merci