Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros
que je remercie à nouveau au passage ne me convient pas pour la raison
suivante:
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 apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant que
"tutu" est le nom d'un combobox cree depuis la barre des controles et place
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 gere
pas le jeu d'evenements
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonsoir
Le problème vient du fait que tu ne peux pas gérer les évènements dans un module standard. D'ailleurs, tu auras une erreur de syntaxe si tu tentes un public withevents ... dans un module standard
Par contre, tu peux sans problème créer un objet avec gestion évènementielle dans un module de classe ( module de feuille par exemple). Là, tu verras qu'un combobox ( de la boite à outils contrôles, pas de la boite Formulaires) permet la gestion de son évènement GotFocus sans le moindre problème...
Dès lors, c'est dans le module de classe de la feuille ( ou du userform ) qui le contient que tu pourras gérer les évènements de ton combobox. Et si tu souhaites manipuler les propriétés de ce combo dans un module standard, tu peux l'appeler comme étant un objet de ta feuille ou de ton userform, par exemple feuil1.Combobox1... mais sans procédure évènementielle dans le module standard...
Il découle de ceci que tu ne peux pas faire référence à un objet dont tu gères les évènements dans un module standard. Déclare ton objet OLE avec withEvents par exemple dans ton module ThisWorkBook et gère-le comme un objet-propriété de thisworkbook
Cela étant, je n'ai pas compris le lien entre le combo et l'objet ole.
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"anonymousA" a écrit dans le message de news:
Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros que je remercie à nouveau au passage ne me convient pas pour la raison suivante: 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 apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant que
"tutu" est le nom d'un combobox cree depuis la barre des controles et place
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 gere pas le jeu d'evenements
La je seche !!
Merci de votre aide
Bonsoir
Le problème vient du fait que tu ne peux pas gérer les évènements dans un
module standard. D'ailleurs, tu auras une erreur de syntaxe si tu tentes un
public withevents ...
dans un module standard
Par contre, tu peux sans problème créer un objet avec gestion évènementielle
dans un module de classe ( module de feuille par exemple).
Là, tu verras qu'un combobox ( de la boite à outils contrôles, pas de la
boite Formulaires) permet la gestion de son évènement GotFocus sans le
moindre problème...
Dès lors, c'est dans le module de classe de la feuille ( ou du userform )
qui le contient que tu pourras gérer les évènements de ton combobox. Et si
tu souhaites manipuler les propriétés de ce combo dans un module standard,
tu peux l'appeler comme étant un objet de ta feuille ou de ton userform, par
exemple feuil1.Combobox1... mais sans procédure évènementielle dans le
module standard...
Il découle de ceci que tu ne peux pas faire référence à un objet dont tu
gères les évènements dans un module standard.
Déclare ton objet OLE avec withEvents par exemple dans ton module
ThisWorkBook et gère-le comme un objet-propriété de thisworkbook
Cela étant, je n'ai pas compris le lien entre le combo et l'objet ole.
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"anonymousA" <anonymousA@discussions.microsoft.com> a écrit dans le message
de news:2C64AC14-8BC8-41FA-A7D0-41808774909D@microsoft.com...
Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne
sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros
que je remercie à nouveau au passage ne me convient pas pour la raison
suivante:
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
apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant
que
"tutu" est le nom d'un combobox cree depuis la barre des controles et
place
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 gere
pas le jeu d'evenements
Le problème vient du fait que tu ne peux pas gérer les évènements dans un module standard. D'ailleurs, tu auras une erreur de syntaxe si tu tentes un public withevents ... dans un module standard
Par contre, tu peux sans problème créer un objet avec gestion évènementielle dans un module de classe ( module de feuille par exemple). Là, tu verras qu'un combobox ( de la boite à outils contrôles, pas de la boite Formulaires) permet la gestion de son évènement GotFocus sans le moindre problème...
Dès lors, c'est dans le module de classe de la feuille ( ou du userform ) qui le contient que tu pourras gérer les évènements de ton combobox. Et si tu souhaites manipuler les propriétés de ce combo dans un module standard, tu peux l'appeler comme étant un objet de ta feuille ou de ton userform, par exemple feuil1.Combobox1... mais sans procédure évènementielle dans le module standard...
Il découle de ceci que tu ne peux pas faire référence à un objet dont tu gères les évènements dans un module standard. Déclare ton objet OLE avec withEvents par exemple dans ton module ThisWorkBook et gère-le comme un objet-propriété de thisworkbook
Cela étant, je n'ai pas compris le lien entre le combo et l'objet ole.
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"anonymousA" a écrit dans le message de news:
Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros que je remercie à nouveau au passage ne me convient pas pour la raison suivante: 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 apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant que
"tutu" est le nom d'un combobox cree depuis la barre des controles et place
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 gere pas le jeu d'evenements
La je seche !!
Merci de votre aide
anonymousA
ta réponse très complète m'intéresse. Ceci dit compte tenu de la relative complexité du sujet et en raison peut-être du faible intérêt pour la très grande majorité des utilisateurs de ce forum, puis-je me permettre de communiquer directement avec toi à l'adresse e-mail dont je pense avoir compris qu'elle est
si tu en es d'accord, Merci de me répondre sur ce message.
Bonsoir
Le problème vient du fait que tu ne peux pas gérer les évènements dans un module standard. D'ailleurs, tu auras une erreur de syntaxe si tu tentes un public withevents ... dans un module standard
Par contre, tu peux sans problème créer un objet avec gestion évènementielle dans un module de classe ( module de feuille par exemple). Là, tu verras qu'un combobox ( de la boite à outils contrôles, pas de la boite Formulaires) permet la gestion de son évènement GotFocus sans le moindre problème...
Dès lors, c'est dans le module de classe de la feuille ( ou du userform ) qui le contient que tu pourras gérer les évènements de ton combobox. Et si tu souhaites manipuler les propriétés de ce combo dans un module standard, tu peux l'appeler comme étant un objet de ta feuille ou de ton userform, par exemple feuil1.Combobox1... mais sans procédure évènementielle dans le module standard...
Il découle de ceci que tu ne peux pas faire référence à un objet dont tu gères les évènements dans un module standard. Déclare ton objet OLE avec withEvents par exemple dans ton module ThisWorkBook et gère-le comme un objet-propriété de thisworkbook
Cela étant, je n'ai pas compris le lien entre le combo et l'objet ole.
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"anonymousA" a écrit dans le message de news:
Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros que je remercie à nouveau au passage ne me convient pas pour la raison suivante: 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 apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant que
"tutu" est le nom d'un combobox cree depuis la barre des controles et place
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 gere pas le jeu d'evenements
La je seche !!
Merci de votre aide
ta réponse très complète m'intéresse. Ceci dit compte tenu de la relative
complexité du sujet et en raison peut-être du faible intérêt pour la très
grande majorité des utilisateurs de ce forum, puis-je me permettre de
communiquer directement avec toi à l'adresse e-mail dont je pense avoir
compris qu'elle est
pierre.fauconnier@pfi.be
si tu en es d'accord, Merci de me répondre sur ce message.
Bonsoir
Le problème vient du fait que tu ne peux pas gérer les évènements dans un
module standard. D'ailleurs, tu auras une erreur de syntaxe si tu tentes un
public withevents ...
dans un module standard
Par contre, tu peux sans problème créer un objet avec gestion évènementielle
dans un module de classe ( module de feuille par exemple).
Là, tu verras qu'un combobox ( de la boite à outils contrôles, pas de la
boite Formulaires) permet la gestion de son évènement GotFocus sans le
moindre problème...
Dès lors, c'est dans le module de classe de la feuille ( ou du userform )
qui le contient que tu pourras gérer les évènements de ton combobox. Et si
tu souhaites manipuler les propriétés de ce combo dans un module standard,
tu peux l'appeler comme étant un objet de ta feuille ou de ton userform, par
exemple feuil1.Combobox1... mais sans procédure évènementielle dans le
module standard...
Il découle de ceci que tu ne peux pas faire référence à un objet dont tu
gères les évènements dans un module standard.
Déclare ton objet OLE avec withEvents par exemple dans ton module
ThisWorkBook et gère-le comme un objet-propriété de thisworkbook
Cela étant, je n'ai pas compris le lien entre le combo et l'objet ole.
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"anonymousA" <anonymousA@discussions.microsoft.com> a écrit dans le message
de news:2C64AC14-8BC8-41FA-A7D0-41808774909D@microsoft.com...
Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne
sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros
que je remercie à nouveau au passage ne me convient pas pour la raison
suivante:
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
apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant
que
"tutu" est le nom d'un combobox cree depuis la barre des controles et
place
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 gere
pas le jeu d'evenements
ta réponse très complète m'intéresse. Ceci dit compte tenu de la relative complexité du sujet et en raison peut-être du faible intérêt pour la très grande majorité des utilisateurs de ce forum, puis-je me permettre de communiquer directement avec toi à l'adresse e-mail dont je pense avoir compris qu'elle est
si tu en es d'accord, Merci de me répondre sur ce message.
Bonsoir
Le problème vient du fait que tu ne peux pas gérer les évènements dans un module standard. D'ailleurs, tu auras une erreur de syntaxe si tu tentes un public withevents ... dans un module standard
Par contre, tu peux sans problème créer un objet avec gestion évènementielle dans un module de classe ( module de feuille par exemple). Là, tu verras qu'un combobox ( de la boite à outils contrôles, pas de la boite Formulaires) permet la gestion de son évènement GotFocus sans le moindre problème...
Dès lors, c'est dans le module de classe de la feuille ( ou du userform ) qui le contient que tu pourras gérer les évènements de ton combobox. Et si tu souhaites manipuler les propriétés de ce combo dans un module standard, tu peux l'appeler comme étant un objet de ta feuille ou de ton userform, par exemple feuil1.Combobox1... mais sans procédure évènementielle dans le module standard...
Il découle de ceci que tu ne peux pas faire référence à un objet dont tu gères les évènements dans un module standard. Déclare ton objet OLE avec withEvents par exemple dans ton module ThisWorkBook et gère-le comme un objet-propriété de thisworkbook
Cela étant, je n'ai pas compris le lien entre le combo et l'objet ole.
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"anonymousA" a écrit dans le message de news:
Bonjour a tous et merci à tous (cracks ou autres) de m'aider car je ne sais
plus ou chercher l'info.
J'ai déjà posé la question hier, mais la réponse que j'ai eue d'Alain Cros que je remercie à nouveau au passage ne me convient pas pour la raison suivante: 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 apparaissent
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.
Je rappelle ci-dessous les termes de mon programme :
Je declare 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 declare les instructions suivantes sachant que
"tutu" est le nom d'un combobox cree depuis la barre des controles et place
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 gere pas le jeu d'evenements