Bonjour,
J'ai créé un DLL C++ qui contient la fonction suivante :
Code :
- 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 :
- 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 :
- 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 :
- Retour_F = AdditionTableau_5(table1, table2, RetourTableau)
|
par :
Code :
- 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