Bonjour à tous,
Voilà, je vous expose mon problème.
Je débute en C++, j'ai appris plutôt rapidement les notions importantes (siteduzero) et je dois maintenant
faire une DLL.
J'ai créé récemment une DLL ultra basique pour voir (que j'ai utilisée dans Excel par la suite : nickel) ; j'ai les bases mais là je bloque.
Pour simplifier le problème, j'ai une matrice sur Excel de taille (n,p). En gros, la fonction contenue dans l
a DLL va devoir prendre pour paramètres cette matrice Excel, faire un gros calcul qu'il est inutile de détailler et renvoyer une matrice résultat.
Voici ce que j'ai codé :
double __stdcall groove(double matrice[4][4])
{
double D;
D=0;
int i,j;
for (i=0;i<5;i++){
for (j=0;j<5;j++){
D=D+matrice[i][j];
}
}
return D;
}
La j'ai simplifié le problème (la sortie est un double et pas une matrice). En appellant cette fonction sur Excel, je trouve un résultat complètement aberrant !
J'ai besoin de votre aide pour les point suivants :
1/ que faut-il mettre a la place de "
double __stdcall" pour avoir une matrice en sortie?
2/ dans mon exemple j'ai créé une matrice 5*5, mais
comment faire dans le cas général ? (les dimensions de la matrice à rentrer seront connues, mais par exemple, si je fais
double __stdcall groove(double matrice[nblignes][nbcolonnes], int nblignes, int nbcolonnes) j'ai une erreur (logique!)...
En fait je n'arrive pas à visualiser la façon dont va interagir la DLL avec Excel
Lorsque sur Excel je tape =groove(C8:G12), est ce que la matrice symbolisée par C8:G12 est bien comprise par la fonction C++???Voilà comme vous l'aurez compris je débute, mais j'ai envie de progresser pour mener à bien le projet.
Merci de votre aide !

SW