Utiliser DLL C# en VBA

Bonjour,

Apres avoir écumé tous les liens google je m'en remet à vous

Je souhaite utiliser une DLL créé en C# dans ACCESS 2010

J'ai inscrit pour COM dans le projet C# , ajouté la référence de la DLL dans ACCESS

Problème : une erreur survient lors de la création de l'objet dans ACCESS
=> Un composant ActiveX ne peut pas créer d'objet

Je précise que je suis sur une plateforme 64bits

Merci de votre aide

3 réponses

  1. Contributeur
    Compris..
    Tu confond Dll genre API qui ont des points d'entrées mais qui ne peuvent être générée qu'en C, C++
    Celles qui sont faite à partir de C#, VB.6 etc.. doivent être ajoutée en entier.
    Sais pas comment expliquer ça mieux.
    Note que quand j'ai répondu j'avais un sérieux doute mais comme ont dit.. dans le doute abstient-toi. :-)
    Ta dll en C# n'est pas compatible avec Excel. Elle peu servir dans une appli en C#, Je fais des dll en VB6 et je m'en sert uniquement en VB6.
    A+

    1. Contributeur
      VBA/VB6 n'est pas un langage .NET. Les DLL .NET ne peuvent être utilisées qu'avec un langage .NET, car elles définissent des points d'entrée en P/Invoke, et pas en exports C ou C++, donc on ne peut pas les utiliser en VBA/VB6. Une solution reste le C++.NET qui peut interfacer du C++ natif avec du C++.NET; mais il faut créer tous les bindings, association entre fonction native et managée .NET.
  2. Bonjour,

    J'ai essayer :
    C:\Windows\SysWOW64\regsvr32.exe "C:\maDll.dll"
    ET
    regsvr32.exe "C:\maDll.dll"

    Mais j'ai une erreur :
    [..]à été chargé,mais le point d'entrée DllRegisterServeur est introuvable[...]
    1. Contributeur
      Bonjour,
      Tu a inscrit ta dll dans le registre Windows ?
      A+