Problème de débutant ... un dll c++

wismerhill__ Messages postés 88 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 26 juillet 2007 - 12 juin 2006 à 12:30
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 12 juin 2006 à 13:51
bonjour, je suis désolé mais apres avoir cherché sur recherche je ne comprend rien ..

Je cherche à faire qqchose qui semble très simple, utiliser c++ pour faire des opérations en l'appelant par vba.

Ex : j'ai un variant de double, je dois faire la moyenne de ses elements...je voudrais pouvoir le faire via une fonction que j'ai programmé en c++...
On m'a dit "facile tu n'as qu'à faire une dll...", oui ok mais je ne sais pas comment faire...

J'imagien que répondre serait trop long mais peut être que si vous connaissez un tuto ... qui pourrait m'aider ...

Merci

wis : in tartiflette I trust (like the others)

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
12 juin 2006 à 12:35
Bonjour

Si tu veux réellement faire ta DLL en c++, utilise les conseils des membres de cppfrance.
pour passer tes variants, met plutot un type "propre" (double, integer, ...) en mettant toujours le type à utiliser (gain de vitesse, facilité de lecture), et ajoute toujours "Option Explicit" en haut de tes modules.

Il est plus facile de batiser quelqu'un que de la convertir. (surtout en programmation)
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)

<fon></fon>
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
12 juin 2006 à 13:51
Bonjour,


Un lien vers une dll très simple en C++.


Il faut déclarer la fonction dans le VBA :


Private Declare Function Moyenne Lib "kernel32" (fAVal() As Double, ByVal nSize As Long) As Double


Côté C++, je dirais :

Double
__declspec
(
dllexport
) Moyenne(
Double 
* 
fAVal, int nSize)


Je sais pas du tout à quoi sert le declspec...
0
Rejoignez-nous