OVH Cloud OVH Cloud

Programme ActiveX

6 réponses
Avatar
Jean-François
Bonjour, voilà une question j'ai créer un controle activeX avec un
UserControl (UserControl1) et un module (Module1)

lorsque je souhaite lancer une fonction ecrite dans le module1 depuis le
UserControl1 pas de souci

Call Module1.MaFonction()

par contre si je souhaite lancer une fonction ou manipuler un controle
depuis le Module1 là rien à faire.....


si quelqu'un à une solution, merci de votre aide

6 réponses

Avatar
François Picalausa
Bonjour/soir,

Il te faudra passer une instance de ton contrôle à ton module...

'module1
Public MyControl AS UserControl1

'UserControl
Private Sub UserControl_Initialize()
Set Module1.MyControl = Me
End sub

Private Sub UserControl_Terminate()
Set Module1.MyControl = Nothing
End sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Jean-François" a écrit dans le message de
news:3fa4fbf9$0$2799$
Bonjour, voilà une question j'ai créer un controle activeX avec un
UserControl (UserControl1) et un module (Module1)

lorsque je souhaite lancer une fonction ecrite dans le module1
depuis le UserControl1 pas de souci

Call Module1.MaFonction()

par contre si je souhaite lancer une fonction ou manipuler un
controle depuis le Module1 là rien à faire.....


si quelqu'un à une solution, merci de votre aide


Avatar
Jean-François
Heu oui tous simplement....

merci de ton aide @+

"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

Il te faudra passer une instance de ton contrôle à ton module...

'module1
Public MyControl AS UserControl1

'UserControl
Private Sub UserControl_Initialize()
Set Module1.MyControl = Me
End sub

Private Sub UserControl_Terminate()
Set Module1.MyControl = Nothing
End sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Jean-François" a écrit dans le message de
news:3fa4fbf9$0$2799$
> Bonjour, voilà une question j'ai créer un controle activeX avec un
> UserControl (UserControl1) et un module (Module1)
>
> lorsque je souhaite lancer une fonction ecrite dans le module1
> depuis le UserControl1 pas de souci
>
> Call Module1.MaFonction()
>
> par contre si je souhaite lancer une fonction ou manipuler un
> controle depuis le Module1 là rien à faire.....
>
>
> si quelqu'un à une solution, merci de votre aide




Avatar
ng
Il faudra pour cela faire un set new dan le module non ?

"François Picalausa" a écrit dans le message de news:
#
Bonjour/soir,

Il te faudra passer une instance de ton contrôle à ton module...

'module1
Public MyControl AS UserControl1

'UserControl
Private Sub UserControl_Initialize()
Set Module1.MyControl = Me
End sub

Private Sub UserControl_Terminate()
Set Module1.MyControl = Nothing
End sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Jean-François" a écrit dans le message de
news:3fa4fbf9$0$2799$
> Bonjour, voilà une question j'ai créer un controle activeX avec un
> UserControl (UserControl1) et un module (Module1)
>
> lorsque je souhaite lancer une fonction ecrite dans le module1
> depuis le UserControl1 pas de souci
>
> Call Module1.MaFonction()
>
> par contre si je souhaite lancer une fonction ou manipuler un
> controle depuis le Module1 là rien à faire.....
>
>
> si quelqu'un à une solution, merci de votre aide




Avatar
François Picalausa
Bonjour/soir,

Si tu faisais celà, tu obtiendrais une nouvelle instance du contrôle n'ayant
rien en commun avec la première.
Tu dois utiliser l'instance du contrôle que tu veux contrôler, soit Me dans
le Usercontrol, comme dans mon exemple :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"ng" a écrit dans le message de
news:

Il faudra pour cela faire un set new dan le module non ?



"François Picalausa" a écrit dans le message de news:
#

Il te faudra passer une instance de ton contrôle à ton module...





Avatar
ng
Donc il faut bien qu'une instance ait été créée avant pour que cela
fonctionne...

"François Picalausa" a écrit dans le message de news:

Bonjour/soir,

Si tu faisais celà, tu obtiendrais une nouvelle instance du contrôle


n'ayant
rien en commun avec la première.
Tu dois utiliser l'instance du contrôle que tu veux contrôler, soit Me


dans
le Usercontrol, comme dans mon exemple :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"ng" a écrit dans le message de
news:
>
> Il faudra pour cela faire un set new dan le module non ?
>
"François Picalausa" a écrit dans le message de


news:
#
>>
>>Il te faudra passer une instance de ton contrôle à ton module...
>>




Avatar
François Picalausa
Bonjour/soir,

Dans le cas d'un contrôle ActiveX, tu n'auras généralement pas besoin de
l'opérateur New puisque tu positionnera le contrôle sur la feuille comme
n'importe quel contrôle.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"ng" a écrit dans le message de
news:%
Donc il faut bien qu'une instance ait été créée avant pour que cela
fonctionne...

"François Picalausa" a écrit dans le message de
news:
Bonjour/soir,

Si tu faisais celà, tu obtiendrais une nouvelle instance du contrôle
n'ayant rien en commun avec la première.
Tu dois utiliser l'instance du contrôle que tu veux contrôler, soit
Me dans le Usercontrol, comme dans mon exemple :-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"ng" a écrit dans le message de
news:

Il faudra pour cela faire un set new dan le module non ?



"François Picalausa" a écrit dans le message
de news: #

Il te faudra passer une instance de ton contrôle à ton module...