bonjour.
j'�cris des petites fonctions en C++ que je wrappe dans des DLLs pour les utiliser avec excel.
avec des variables C++ (int, double, long, ...) et Excel (Double, Integer, .. ) [avec des 'chiffres', quoi!], je code sans probl�me.
en revanche, je ne parviens pas � utiliser une String de VBA vers C++ , je choisis de la passer ByVal.
le livre de steve dalton donne la r�ponse � ma question, maisje ne sais pas quoi faire avec les explications du bonhomme !
un petit code d'illustration, en-dessous. si quelqu'un a la gentillesse de corriger. je ne sais que faire des BSTR ? char* ? ref�rencement et d�-f�rencement ??Quand elle est pass�e BYVal vers C++, la String de VBA arrive comme une BSTR ... vous pouvez d�clarer votre argument comme un char* , ce qui a pour effet de caster le pointeur directement vers l'espace-m�moire allou� � la BSTR
code C++
Appel de fonction en VBA
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 double __stdcall maFonction(BSTR couleur) { double resultat; if ('rouge' == couleur) resultat = 3.7999; else resultat = 5.455; return resultat; }
merci de votre aide.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 Declare Function maFonction Lib "C:\ .... majoliefonction.dll" _ (ByVal couleur As String) As Double
�douard
Partager