OVH Cloud OVH Cloud

Module de classe

5 réponses
Avatar
anonymousA
Bonjour à tous,

Je déclare un module de classe que j'appelle OleEventClass et qui contient
les instructions suivantes:

Public WithEvents FILTSH As OLEObject

Private Sub FILTSH_GotFocus()
MsgBox "got focus"
End Sub

Dans un module standard , je déclare les instructions suivantes sachant que
"tutu" est le nom d'un combobox créé depuis la barre des controles et placé
sur un worksheet.

Dim TABOLEOLE As New OleEventClass

Sub Macro1()
'
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
Set TABOLEOLE.FILTSH = ws.OLEObjects("tutu")
End sub

A chaque fois, le programme se plante sur Set TABOLEOLE.FILSH en m'envoyant
le message d'erreur 459 : l'objet ou la classe ne gère pas le jeu d'évenements

Là je séche !!

Merci de votre aide

5 réponses

Avatar
Philippe.R
Bonsoir,
Fin juillet, emcy proposait ce lien à une recherche d'exemples de modules de classe :

http://www.excel-downloads.com/html/French/fichiers/programmation-date_maj-1.htm

Y trouves tu de quoi te dépanner ?
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

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

Bonjour à tous,

Je déclare un module de classe que j'appelle OleEventClass et qui contient
les instructions suivantes:

Public WithEvents FILTSH As OLEObject

Private Sub FILTSH_GotFocus()
MsgBox "got focus"
End Sub

Dans un module standard , je déclare les instructions suivantes sachant que
"tutu" est le nom d'un combobox créé depuis la barre des controles et placé
sur un worksheet.

Dim TABOLEOLE As New OleEventClass

Sub Macro1()
'
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
Set TABOLEOLE.FILTSH = ws.OLEObjects("tutu")
End sub

A chaque fois, le programme se plante sur Set TABOLEOLE.FILSH en m'envoyant
le message d'erreur 459 : l'objet ou la classe ne gère pas le jeu d'évenements

Là je séche !!

Merci de votre aide


Avatar
anonymousA
je te remercie. Mais je connaissais cet ensemble de ficheirs qui sont bien
faits. Je ne trouve hélas pas matière à ma réponse ou alors je n'ai pas tout
compris..


Bonsoir,
Fin juillet, emcy proposait ce lien à une recherche d'exemples de modules de classe :

http://www.excel-downloads.com/html/French/fichiers/programmation-date_maj-1.htm

Y trouves tu de quoi te dépanner ?
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

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

Bonjour à tous,

Je déclare un module de classe que j'appelle OleEventClass et qui contient
les instructions suivantes:

Public WithEvents FILTSH As OLEObject

Private Sub FILTSH_GotFocus()
MsgBox "got focus"
End Sub

Dans un module standard , je déclare les instructions suivantes sachant que
"tutu" est le nom d'un combobox créé depuis la barre des controles et placé
sur un worksheet.

Dim TABOLEOLE As New OleEventClass

Sub Macro1()
'
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
Set TABOLEOLE.FILTSH = ws.OLEObjects("tutu")
End sub

A chaque fois, le programme se plante sur Set TABOLEOLE.FILSH en m'envoyant
le message d'erreur 459 : l'objet ou la classe ne gère pas le jeu d'évenements

Là je séche !!

Merci de votre aide






Avatar
Philippe.R
Ne m'y étant jamais plongé pour ma part, je ne saurais t'aider plus avant.
:-(
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

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

je te remercie. Mais je connaissais cet ensemble de ficheirs qui sont bien
faits. Je ne trouve hélas pas matière à ma réponse ou alors je n'ai pas tout
compris..


Bonsoir,
Fin juillet, emcy proposait ce lien à une recherche d'exemples de modules de classe :

http://www.excel-downloads.com/html/French/fichiers/programmation-date_maj-1.htm

Y trouves tu de quoi te dépanner ?
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

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

Bonjour à tous,

Je déclare un module de classe que j'appelle OleEventClass et qui contient
les instructions suivantes:

Public WithEvents FILTSH As OLEObject

Private Sub FILTSH_GotFocus()
MsgBox "got focus"
End Sub

Dans un module standard , je déclare les instructions suivantes sachant que
"tutu" est le nom d'un combobox créé depuis la barre des controles et placé
sur un worksheet.

Dim TABOLEOLE As New OleEventClass

Sub Macro1()
'
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
Set TABOLEOLE.FILTSH = ws.OLEObjects("tutu")
End sub

A chaque fois, le programme se plante sur Set TABOLEOLE.FILSH en m'envoyant
le message d'erreur 459 : l'objet ou la classe ne gère pas le jeu d'évenements

Là je séche !!

Merci de votre aide








Avatar
Alain CROS
Bonjour

Il Faut déclarer
Public WithEvents FILTSH As ComboBox

Mais l'évènement GotFocus n'existe pas.

Alain CROS

-----Message d'origine-----
Bonjour à tous,

Je déclare un module de classe que j'appelle
OleEventClass et qui contient

les instructions suivantes:

Public WithEvents FILTSH As OLEObject

Private Sub FILTSH_GotFocus()
MsgBox "got focus"
End Sub

Dans un module standard , je déclare les instructions
suivantes sachant que

"tutu" est le nom d'un combobox créé depuis la barre
des controles et placé

sur un worksheet.

Dim TABOLEOLE As New OleEventClass

Sub Macro1()
'
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
Set TABOLEOLE.FILTSH = ws.OLEObjects("tutu")
End sub

A chaque fois, le programme se plante sur Set
TABOLEOLE.FILSH en m'envoyant

le message d'erreur 459 : l'objet ou la classe ne gère
pas le jeu d'évenements


Là je séche !!

Merci de votre aide
.



Avatar
anonymousA
Merci de ta réponse. Je sais que Combobox n'a pas d'evènement GetFocus
(quoique qaund tu le crées sur une worksheet et que tu vas dans le module de
la feuille, il apparaisse les évenements Got et LostFocus dans les
possibilités evenementielles). Je souhaite en fait profiter de l'ambivalence
d'un combobox qui tout à la fois est un combobox avec tous ces evenements
(Click et les autres..) et aussi un objet OLE avec les seuls évenements
GetFocus et LostFocus.
En fait j'ai d'ailleurs un autre module de classe qui fait pointer le
combobox de ma worksheet vers un Public WithEvents FILTH as combobox. Ce
dernier pointage marche très bien.
C'est seulement quand je déclare un pointage vers un objet OLE qu'il y a un
problème et c'est bien tout mon problème.

Si toi ou d'autres ont des idées, je suis intéréssé.

Merci d'avance.


Bonjour

Il Faut déclarer
Public WithEvents FILTSH As ComboBox

Mais l'évènement GotFocus n'existe pas.

Alain CROS

-----Message d'origine-----
Bonjour à tous,

Je déclare un module de classe que j'appelle
OleEventClass et qui contient

les instructions suivantes:

Public WithEvents FILTSH As OLEObject

Private Sub FILTSH_GotFocus()
MsgBox "got focus"
End Sub

Dans un module standard , je déclare les instructions
suivantes sachant que

"tutu" est le nom d'un combobox créé depuis la barre
des controles et placé

sur un worksheet.

Dim TABOLEOLE As New OleEventClass

Sub Macro1()
'
Dim ws As Worksheet

Set ws = ActiveWorkbook.ActiveSheet
Set TABOLEOLE.FILTSH = ws.OLEObjects("tutu")
End sub

A chaque fois, le programme se plante sur Set
TABOLEOLE.FILSH en m'envoyant

le message d'erreur 459 : l'objet ou la classe ne gère
pas le jeu d'évenements


Là je séche !!

Merci de votre aide
.