Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une
et appeler la DLL sous Excel dans VBA. Problème : une
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire une
et appeler la DLL sous Excel dans VBA. Problème : une
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une
et appeler la DLL sous Excel dans VBA. Problème : une
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence
projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une
et appeler la DLL sous Excel dans VBA. Problème : une
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence
projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire une
et appeler la DLL sous Excel dans VBA. Problème : une
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence
projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une
et appeler la DLL sous Excel dans VBA. Problème : une
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
Interop, sous VB tu n'asrien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence
vers la DLL auprojet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
WithEventsDim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
(dansmes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
compilé cetteDLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une
DLL)et appeler la DLL sous Excel dans VBA. Problème :
foisla dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
Interop, sous VB tu n'as
rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence
vers la DLL au
projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Pour la compilation : après avoir écrit mon code dans
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
(dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire une
DLL)
et appeler la DLL sous Excel dans VBA. Problème :
fois
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
Interop, sous VB tu n'asrien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence
vers la DLL auprojet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
WithEventsDim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
(dansmes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu
compilé cetteDLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une
DLL)et appeler la DLL sous Excel dans VBA. Problème :
foisla dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
Autre question : y-a-t-il un gain de temps important entre
un programme en VB et son équivalent compilé en une DLL?-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM Interop, sous
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence vers la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
.
Autre question : y-a-t-il un gain de temps important entre
un programme en VB et son équivalent compilé en une DLL?
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM Interop, sous
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence vers la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
.
Autre question : y-a-t-il un gain de temps important entre
un programme en VB et son équivalent compilé en une DLL?-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM Interop, sous
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence vers la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-tu compilé cette
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
.
-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca
L'avantage d'une DLL est de pouvoir utiliser ses
progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Autre question : y-a-t-il un gain de temps important
un programme en VB et son équivalent compilé en une DLL?-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne
code CreateObject (n'étant pas versé dans le pourquoi
comment de ces choses je ne sais pas bien à quoi çà
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a
Bonjour,
Je souhaites compiler mon programme vb (en faire
et appeler la DLL sous Excel dans VBA. Problème :
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
.
-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca
L'avantage d'une DLL est de pouvoir utiliser ses
progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Autre question : y-a-t-il un gain de temps important
un programme en VB et son équivalent compilé en une DLL?
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne
code CreateObject (n'étant pas versé dans le pourquoi
comment de ces choses je ne sais pas bien à quoi çà
mais çà marche)
Encore une fois merci beaucoup
Jules
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Pour la compilation : après avoir écrit mon code
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a
Bonjour,
Je souhaites compiler mon programme vb (en faire
et appeler la DLL sous Excel dans VBA. Problème :
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
.
-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca
L'avantage d'une DLL est de pouvoir utiliser ses
progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Autre question : y-a-t-il un gain de temps important
un programme en VB et son équivalent compilé en une DLL?-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne
code CreateObject (n'étant pas versé dans le pourquoi
comment de ces choses je ne sais pas bien à quoi çà
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-
DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a
Bonjour,
Je souhaites compiler mon programme vb (en faire
et appeler la DLL sous Excel dans VBA. Problème :
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
.
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé.
si je transcris mon programme VBA en VB et que je le
compile?
Pas sûr de comprendre :
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé. est ce aussi vrai
si je transcris mon programme VBA en VB et que je le
compile? le gain de temps est-il toujours automatique ou
celà dépend du type de programme?
Merci encore-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca revient à peu
près au mm. L'avantage d'une DLL est de pouvoir utiliser ses
fonctions depuis d'autres progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Autre question : y-a-t-il un gain de temps important entre
un programme en VB et son équivalent compilé en une DLL?-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM Interop, sous
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence vers la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as- tu compilé
cette DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a
écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
.
.
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé.
si je transcris mon programme VBA en VB et que je le
compile?
Pas sûr de comprendre :
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé. est ce aussi vrai
si je transcris mon programme VBA en VB et que je le
compile? le gain de temps est-il toujours automatique ou
celà dépend du type de programme?
Merci encore
-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca revient à peu
près au mm. L'avantage d'une DLL est de pouvoir utiliser ses
fonctions depuis d'autres progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Autre question : y-a-t-il un gain de temps important entre
un programme en VB et son équivalent compilé en une DLL?
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM Interop, sous
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence vers la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as- tu compilé
cette DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a
écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
.
.
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé.
si je transcris mon programme VBA en VB et que je le
compile?
Pas sûr de comprendre :
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé. est ce aussi vrai
si je transcris mon programme VBA en VB et que je le
compile? le gain de temps est-il toujours automatique ou
celà dépend du type de programme?
Merci encore-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca revient à peu
près au mm. L'avantage d'une DLL est de pouvoir utiliser ses
fonctions depuis d'autres progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Autre question : y-a-t-il un gain de temps important entre
un programme en VB et son équivalent compilé en une DLL?-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la ligne de
code CreateObject (n'étant pas versé dans le pourquoi du
comment de ces choses je ne sais pas bien à quoi çà sert
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM Interop, sous
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la référence vers la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un WithEvents
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pour la compilation : après avoir écrit mon code dans un
projet ActiveX DLL, je fais simplement "create dll";
Exportation : je n'ai aucune procédure d'exportation (dans
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé l'équivalent sous
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x as
double) as double
puis dans mon code VBA j'appelle la fonction se trouvant
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as- tu compilé
cette DLL ? L'as-tu expotrée pour COM (COM Interop) ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a
écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire une DLL)
et appeler la DLL sous Excel dans VBA. Problème : une fois
la dll créée, j'ai constamment l'erreur 453 : fonction
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour permettre
d'appeler une DLL sous VBA?
Merci
.
.
.
.
-----Message d'origine-----
Salut,ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
C'est normal que du code interprété tourne moins vite que
(en langage machine/natif).J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé.
Les programmes VBA ne sont pas compilés mais interprétés,
que le C++ compilé soit plus rapide.si je transcris mon programme VBA en VB et que je le
compile?
Oui un programme VB compilé sera plus rapide (on arrive à
comparables au C++ pour certain type de
il suffit de regarder le code ASM pour s'en rendre compte.
On peut ainsi gagner du temps d'execution en compilant
"gourmandes" dans une DLL et en l'appelant depuis du
(VBA/VBS).
(on gagne même encore plus avec une DLL API en C++).
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pas sûr de comprendre :
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé. est ce aussi vrai
si je transcris mon programme VBA en VB et que je le
compile? le gain de temps est-il toujours automatique ou
celà dépend du type de programme?
Merci encore-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca
près au mm. L'avantage d'une DLL est de pouvoir
fonctions depuis d'autres progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Autre question : y-a-t-il un gain de temps important
un programme en VB et son équivalent compilé en une
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la
code CreateObject (n'étant pas versé dans le
comment de ces choses je ne sais pas bien à quoi çà
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a
Pour la compilation : après avoir écrit mon code
projet ActiveX DLL, je fais simplement "create
Exportation : je n'ai aucune procédure
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-
cette DLL ? L'as-tu expotrée pour COM (COM
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a
écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire
et appeler la DLL sous Excel dans VBA.
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
.
.
-----Message d'origine-----
Salut,
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
C'est normal que du code interprété tourne moins vite que
(en langage machine/natif).
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé.
Les programmes VBA ne sont pas compilés mais interprétés,
que le C++ compilé soit plus rapide.
si je transcris mon programme VBA en VB et que je le
compile?
Oui un programme VB compilé sera plus rapide (on arrive à
comparables au C++ pour certain type de
il suffit de regarder le code ASM pour s'en rendre compte.
On peut ainsi gagner du temps d'execution en compilant
"gourmandes" dans une DLL et en l'appelant depuis du
(VBA/VBS).
(on gagne même encore plus avec une DLL API en C++).
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Pas sûr de comprendre :
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé. est ce aussi vrai
si je transcris mon programme VBA en VB et que je le
compile? le gain de temps est-il toujours automatique ou
celà dépend du type de programme?
Merci encore
-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca
près au mm. L'avantage d'une DLL est de pouvoir
fonctions depuis d'autres progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a écrit :
Autre question : y-a-t-il un gain de temps important
un programme en VB et son équivalent compilé en une
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la
code CreateObject (n'étant pas versé dans le
comment de ces choses je ne sais pas bien à quoi çà
mais çà marche)
Encore une fois merci beaucoup
Jules
-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules <anonymous@discussions.microsoft.com> a
Pour la compilation : après avoir écrit mon code
projet ActiveX DLL, je fais simplement "create
Exportation : je n'ai aucune procédure
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide
-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-
cette DLL ? L'as-tu expotrée pour COM (COM
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules <anonymous@discussions.microsoft.com> a
écrit :
Bonjour,
Je souhaites compiler mon programme vb (en faire
et appeler la DLL sous Excel dans VBA.
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
.
.
-----Message d'origine-----
Salut,ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
C'est normal que du code interprété tourne moins vite que
(en langage machine/natif).J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé.
Les programmes VBA ne sont pas compilés mais interprétés,
que le C++ compilé soit plus rapide.si je transcris mon programme VBA en VB et que je le
compile?
Oui un programme VB compilé sera plus rapide (on arrive à
comparables au C++ pour certain type de
il suffit de regarder le code ASM pour s'en rendre compte.
On peut ainsi gagner du temps d'execution en compilant
"gourmandes" dans une DLL et en l'appelant depuis du
(VBA/VBS).
(on gagne même encore plus avec une DLL API en C++).
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Pas sûr de comprendre :
ma comparaison est entre un programme VB qui tourne sans
etre compilé et le même compilé.
J'ai constaté par ailleurs que un programme en VBA (non
compilé) met bcp plus de temps à tourner que le même
programme transcris en C++ et compilé. est ce aussi vrai
si je transcris mon programme VBA en VB et que je le
compile? le gain de temps est-il toujours automatique ou
celà dépend du type de programme?
Merci encore-----Message d'origine-----
Salut,
Non s'il sont compilés ts les 2 de la mm facon, ca
près au mm. L'avantage d'une DLL est de pouvoir
fonctions depuis d'autres progs.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a écrit :Autre question : y-a-t-il un gain de temps important
un programme en VB et son équivalent compilé en une
-----Message d'origine-----
Merci beaucoup; il me manquait effectivement la
code CreateObject (n'étant pas versé dans le
comment de ces choses je ne sais pas bien à quoi çà
mais çà marche)
Encore une fois merci beaucoup
Jules-----Message d'origine-----
Salut,
Tu es sous VB ou VB.Net ?
Si tu es sous .Net il faut compiler ta DLL pour COM
VB tu n'as rien de plus a faire.
Ensuite l'appel depuis VBA se fait ainsi :
'//En late-binding :
Dim oMonObjet As Object
Set oMonObjet = CreateObject("MonProjet.MaClasse")
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//En early-binding (il faudra déjà ajouter la
DLL au projet VBA en cours) :
Dim oMonObjet As MonProjet.MaClasse
Set oMonObjet = New MonProjet.MaClasse
Call MsgBox(oMonObjet.MaFonction(x))
Set oMonObjet = Nothing
'//Tu pourras utiliser aussi les événement avec un
Dim WithEvents oMonObjet As MonProjet.MaClasse
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Jules a
Pour la compilation : après avoir écrit mon code
projet ActiveX DLL, je fais simplement "create
Exportation : je n'ai aucune procédure
mes programmes en C++ j'ai bien les commandes
d'exportations mais je n'ai pas trouvé
VB);
Appel de la DLL sous VBA : j'ai commencé par :
Declare Fundtion test Lib"chemin d'accès"(byval x
double) as double
puis dans mon code VBA j'appelle la fonction se
dans la dll comme toute autre fonction.
Merci de ton aide-----Message d'origine-----
Salut,
Comment appeles-tu t'as DLL sous VBA ? Comment as-
cette DLL ? L'as-tu expotrée pour COM (COM
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
jules a
écrit :Bonjour,
Je souhaites compiler mon programme vb (en faire
et appeler la DLL sous Excel dans VBA.
la dll créée, j'ai constamment l'erreur 453 :
introuvable dans la DLL.
Y-a-t-il une chose particulière à faire pour
d'appeler une DLL sous VBA?
Merci
.
.
.
.
.