begin process at 2012 05 28 23:43:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

créer une dll pour VB ou VBA


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

créer une dll pour VB ou VBA

dimanche 18 juillet 2004 à 17:54:16 | créer une dll pour VB ou VBA

tnabon

Bonjour,

Je cherche à créer une dll qui soit compatible avec Visual Basic ou VBA. Quand je crée une dll en C avec visual studio il est en effet impossible de l'utiliser avec Excel VBA. Quelqu'un peut-il me venir en aide svp ?

D'autre part quelqu'un connait-il une bonne façon de bien apprendre Visual Studio, par un livre ou un tutorial ?

D'avance merci

dreads
dimanche 18 juillet 2004 à 18:03:37 | Re : créer une dll pour VB ou VBA

BruNews

Administrateur CodeS-SourceS
J'ai fait exemple de cela en source et repondu a cette question plusieurs fois dans le forum.

ciao...
BruNews, Admin CS, MVP Visual C++
vendredi 1 octobre 2004 à 12:02:03 | Re : créer une dll pour VB ou VBA

claudenjikam

J'ai le même problème.
J'arrive pas à bien remplir le working directory dans les settings afin de faire comprendre à ma dll quelle doit être lier à un fichier excel.

merci pour toute réponse.



cloclo
vendredi 1 octobre 2004 à 13:14:02 | Re : créer une dll pour VB ou VBA

BruNews

Administrateur CodeS-SourceS
Comment ça, une dll 'liee' a un fichier Excel ???
C'est le vba dans Excel qui va se servir de la dll mais la dll ne sera liee QUE au systeme si elle est ecrite correctement.

ciao...
BruNews, MVP VC++
mercredi 11 avril 2007 à 15:08:27 | Re : créer une dll pour VB ou VBA

otavioreis

Bonjour,

J'ai ecris une DLL très simple. Voilà le code:

extern

"C"__declspec(dllexport) int__stdcall somat (int x, int y)

{

int somatr;
somatr = x + y;
return (somatr);
}

Voilà le fichier DEF:

LIBRARY "DllSimple"
;c_dll_4_vb.def LIBRARY c_dll_4_vb
EXPORTS
somat

Et voilà la declararion dans le VBA d'Excel.:
Declare Function somat Lib "C:\DllSimple.dll" (ByVal x As Integer, ByVal y As Integer) As Integer

ça marche parfaitement dans l'environnement de developpement. J'utilise l'Excel et i fait appel à l fonction et donne le resultat.
PAr contre, si je copie la DLL et je fais la déclaration dans un autre ordinateur, ça ne marche plus. Quelqu'un saurrait me dire pour quoi? Dois-je faire quoi pour que ça marche?

Merci d'avance, 



Otavio Reis
mercredi 11 avril 2007 à 15:19:29 | Re : créer une dll pour VB ou VBA

BruNews

Administrateur CodeS-SourceS
C'est As Long, params 16 bits sont du siècle dernier, As Integer est à bannir partout dans VB.

Où est le message d'erreur, il n'y a pas de devin ici.
Si c'est que ne trouve pas ta DLL, suffit de mettre la dll dans dossier du xls et d'un appel SetCurrentDirectory() sur ThisWorkbook.Path dans l'event d'ouverture du classeur xls.

ciao...
BruNews, MVP VC++
mercredi 11 avril 2007 à 15:38:23 | Re : créer une dll pour VB ou VBA

otavioreis

Dans l'environnement de developpement, Excel affiche correctement le resultat de la fonction.

Hors l'environnement de developpement, Excel met le  erreur sur la celule: #VALEUR!

Il ne trouve pas la DLL, mais le chemin indiqué est correct. Le prob avec le SetCurrentDirectory() sur ThisWorkbook.Path est que je vais être oubligé de poser la DLL dans plusieurs endroit selon les différents fichiers qui vont faire appel, non?

Merci de la reponse,

Otavio Reis
mercredi 11 avril 2007 à 15:55:30 | Re : créer une dll pour VB ou VBA

BruNews

Administrateur CodeS-SourceS
Alors tu mets dans le dossier Windows\system32

ciao...
BruNews, MVP VC++
mercredi 11 avril 2007 à 16:05:46 | Re : créer une dll pour VB ou VBA

otavioreis

oui, cela a été déjà fait. J'explique le probleme plus en détail:
 - Je compile ma DLL sur une machine virtuel (l'ambiance de developpement du Visual Studio). Je copie la DLL et je la pose sur Windows\system32. J'ouvre l'Excel dans le même ambiance et Excel accède la DLL sans pb.

- Je sors de la machine virtuel (l'ambiance de developpement du Visual Studio), je copie la DLL et je la pose sur Windows\system32. J'ouvre l'Excel et ça ne marche pas. Voilà.

Merci,

Otavio Reis
mercredi 11 avril 2007 à 17:14:26 | Re : créer une dll pour VB ou VBA

otavioreis

Vous croyez qu'il y a d'autres fichiers à installer dans d'autres ordinateurs pour qui ça marche?

Otavio Reis

1 2

Cette discussion est classée dans : vba, créer, vb, visual, dll


Répondre à ce message

Sujets en rapport avec ce message

Avis objectif... [ par Larwin ] salut tout le monde...j'écris ce post en espérant avoir des avis objectifs sur certaines choses...Je ne fais pas parti de l'élite du monde du c/c++, j créer un événement dans une dll pour VB [ par lamalice83 ] Bonjour,je voudrai écrire une dll en C ou C++ pour un programme en VB, mais je ne sais pas comment créer un événement récupérable.En VB on écrit dans Créer un dll ave Visual C++ [ par 97002285 ] Salut,Je suis en train programmer un résolveur de Systeme D'Equation Linéaire. J'ai fini. Je voudrai maintant transformer mon projet et l'intégrer dan Créer une DLL sous Dev C++ [ par AnteManoclis ] Salut à tous ! J'essaie de créer une dll en c++, sous Dev c++ pour l'utiliser avec une application vb. Seulement j'ai un petit problème au niveau des DLL C++ [ par kharrat ] Salut, Je veux écrire un programme en C++ qui doit à priori tourner sur une plateforme UNIX, avec des commandes Shell. Cependant, j'aimerais (dans u création de dll sous vb 2005 [ par snowlover18 ] Bonjour a tous. Alors voila. Je suis débutant en c++ et je dois , pour ma société, rajouter des fonctionnalités (boutons et autre) a un logiciel de ge déclaration d'un array dans une dll [ par TreCool0 ] Bonjour,J'essaye d'écrire une DLL Win32 en Visual C++ avec Visual C++ 2008 Express.Une des fonctions de cette dll va devoir renvoyer un array de Strin visual C++ [ par olaoz ] Bonjour, je suis étudiant en 3eme année d'électronique. j'ai un projet à faire et à rendre d'ici la fin de la semaine. C'est un projet en Visual C++ DLL C++ Introuvable dans Excel [ par Argile92 ] Bonjour,Je développe une application Excel faisant appel à des fonctions C++ via un DLL pour les longs calculs.Sur mon poste, où Visual Studio 2008 Pr problème sur l'utilisation d'une dll sous VB [ par goffle ] Bonjour, J'ai réaliser il y a quelque temps une programme qui me permettait de contrôler le port parallèle grâce a la dll inpout32 sous code::blocks


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales