Bonjour,
Voici mon problème. Je l'ai également posté sur le forum Excel mais peut-être est-il mieux approprié de le poster ici...
J'utilise une DLL développée en C++ qui est une bibliothèque de calculs thermodynamiques via VBA pour Excel. Il s'agit d'une seule fonction avec une option "opt". Selon la valeur de l'option, l'unique fonction C appelle en réalité d'autres fonctions, de sorte que je peux choisir le type de calcul que je désire : masse volumique, facteur de compressibilité etc... d'où un résultat différent selon l'option.
Certaines de ces fonctions marchent très bien.
Par contre, l'une d'elle provoque un #VALUE dans ma cellule excel.
En appelant ma fonction via une procédure sub(), j'obtiens un message d'erreur plus explicite : "Overflow".
Par contre, en exécutant ma fonction C++ via mon EDI (DevC++), j'obtiens bien le résultat escompté que j'affiche avec printf.
A noter que cette fonction contient un nombre assez important de tableaux de constantes déclarées en tant que tableaux de "double" (avec "const double", même constat), ainsi qu'un grand nombre de variables.
Est-ce un problème de gestion de la mémoire ? Comment peut-on améliorer les choses ? (en scindant en plusieurs fonctions dont chacune hériterait d'une partie des tableaux de constantes ? en mettant mes tableaux en mémoire grâce à un pointeur et un malloc ? Est-ce dû à la longueur de la fonction elle-même ?)
D'avance merci.
Jean-Luc
Partager