Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modules de classe

5 réponses
Avatar
anomymousA
Bonjour et bonne année à tous,

Répondant à une question sur ce forum, il me vient moi-même une
interrogation.

Quand on souhaite sur un Userform déclarer pour un ensemble de controles un
même type de réponse à un évenement donné , il me semblait que la meilleure
réponse était de construire un module de classe référencant pour ce type de
controle la conduite à tenir pour un evenement donné, puis de référencer ( ou
instancier ) les dits controles du userform à ce module de classe, ce qui
évite donc de répeter autant de fois la même chose qu'on a de controles dont
on souhaite un comprotement identique sur un évenement.

Je sais cependant ( cf " La référence du Programmeur VBA pour Excel 2002 "
de Bullen , Green , Bovey et Rosenberg ) que certains controles ne supportent
pas la prise en charge de certains évenements par un module de classe
(exemple: les evenements BeforeUpdate, AfterUpdate , Enter et Exit des
controles labels ne sont pas disponibles dans un module de classe) . Il en
est peut-être de même pour d'autres types d'évenements pour d'autres
controles.

Donc ma question est la suivante: quelqu'un connait-il la liste exhaustive
des évenements non pris en charge dans un module de classe selon les types de
controle ?

Merci de votre aide.

5 réponses

Avatar
anomymousA
Ce sont les controles texte bien sur et pas les controles labels qui sont
concernés dans la référence à l'ouvrage "La référence du Programmeur"


Bonjour et bonne année à tous,

Répondant à une question sur ce forum, il me vient moi-même une
interrogation.

Quand on souhaite sur un Userform déclarer pour un ensemble de controles un
même type de réponse à un évenement donné , il me semblait que la meilleure
réponse était de construire un module de classe référencant pour ce type de
controle la conduite à tenir pour un evenement donné, puis de référencer ( ou
instancier ) les dits controles du userform à ce module de classe, ce qui
évite donc de répeter autant de fois la même chose qu'on a de controles dont
on souhaite un comprotement identique sur un évenement.

Je sais cependant ( cf " La référence du Programmeur VBA pour Excel 2002 "
de Bullen , Green , Bovey et Rosenberg ) que certains controles ne supportent
pas la prise en charge de certains évenements par un module de classe
(exemple: les evenements BeforeUpdate, AfterUpdate , Enter et Exit des
controles labels ne sont pas disponibles dans un module de classe) . Il en
est peut-être de même pour d'autres types d'évenements pour d'autres
controles.

Donc ma question est la suivante: quelqu'un connait-il la liste exhaustive
des évenements non pris en charge dans un module de classe selon les types de
controle ?

Merci de votre aide.


Avatar
Emcy
bonjours,

j'ai fait des classeurs qui expliquent le fonctionnement les modules de
class :
http://www.excel-downloads.com/html/French/fichiers/vba-date_maj-1.htm

Si tu ouvres le classeur "Module de Classe 3(événement clic).xls" , que tu
va voir à l'interrieur du module de class "MaClasse" et que tu clic sur
"ElementSelectionné_Click()" : tu verras apparaitre le mot "click" en gras
écris dans un menu déroulant en haut à droite de la fenetre => si tu déroule
se menu, tu verras apparaitre tous les evenement possible pour un Label.

si tu veux voir pour un autre objet, selctionnes ".Label" de la ligne
"Public WithEvents ElementSelectionné As MSForms.Label" et appuyes sur la
touche "." : normalement un petit menu apparait qui te montre tous les
objets disponible => après, il te suffit de faire la même méthode
qu'auparavant pour connaitre les evenements associés à l'objet que tu viens
de selectionner.

ça te va comme réponse (je ne suis pas sure d'être assez clair)?



"anomymousA" a écrit dans le message
de news:
Ce sont les controles texte bien sur et pas les controles labels qui sont
concernés dans la référence à l'ouvrage "La référence du Programmeur"


Bonjour et bonne année à tous,

Répondant à une question sur ce forum, il me vient moi-même une
interrogation.

Quand on souhaite sur un Userform déclarer pour un ensemble de controles
un


même type de réponse à un évenement donné , il me semblait que la
meilleure


réponse était de construire un module de classe référencant pour ce type
de


controle la conduite à tenir pour un evenement donné, puis de référencer
( ou


instancier ) les dits controles du userform à ce module de classe, ce
qui


évite donc de répeter autant de fois la même chose qu'on a de controles
dont


on souhaite un comprotement identique sur un évenement.

Je sais cependant ( cf " La référence du Programmeur VBA pour Excel
2002 "


de Bullen , Green , Bovey et Rosenberg ) que certains controles ne
supportent


pas la prise en charge de certains évenements par un module de classe
(exemple: les evenements BeforeUpdate, AfterUpdate , Enter et Exit des
controles labels ne sont pas disponibles dans un module de classe) . Il
en


est peut-être de même pour d'autres types d'évenements pour d'autres
controles.

Donc ma question est la suivante: quelqu'un connait-il la liste
exhaustive


des évenements non pris en charge dans un module de classe selon les
types de


controle ?

Merci de votre aide.




Avatar
anomymousA
bonjour,

je te remercie. Je connaissais ton travail qui est bien fait. ca ne répond
pas cependant tout à fait la question.
Ceci dit, il me semble que la seule solution , à bien y réfléchir , consiste
à esayer de créer une variable withevents pour chaque type de contrôle et de
regarder ce qu'Excel propose dans le gestionnaire d'évènements.

Merci encore.


bonjours,

j'ai fait des classeurs qui expliquent le fonctionnement les modules de
class :
http://www.excel-downloads.com/html/French/fichiers/vba-date_maj-1.htm

Si tu ouvres le classeur "Module de Classe 3(événement clic).xls" , que tu
va voir à l'interrieur du module de class "MaClasse" et que tu clic sur
"ElementSelectionné_Click()" : tu verras apparaitre le mot "click" en gras
écris dans un menu déroulant en haut à droite de la fenetre => si tu déroule
se menu, tu verras apparaitre tous les evenement possible pour un Label.

si tu veux voir pour un autre objet, selctionnes ".Label" de la ligne
"Public WithEvents ElementSelectionné As MSForms.Label" et appuyes sur la
touche "." : normalement un petit menu apparait qui te montre tous les
objets disponible => après, il te suffit de faire la même méthode
qu'auparavant pour connaitre les evenements associés à l'objet que tu viens
de selectionner.

ça te va comme réponse (je ne suis pas sure d'être assez clair)?



"anomymousA" a écrit dans le message
de news:
Ce sont les controles texte bien sur et pas les controles labels qui sont
concernés dans la référence à l'ouvrage "La référence du Programmeur"


Bonjour et bonne année à tous,

Répondant à une question sur ce forum, il me vient moi-même une
interrogation.

Quand on souhaite sur un Userform déclarer pour un ensemble de controles
un


même type de réponse à un évenement donné , il me semblait que la
meilleure


réponse était de construire un module de classe référencant pour ce type
de


controle la conduite à tenir pour un evenement donné, puis de référencer
( ou


instancier ) les dits controles du userform à ce module de classe, ce
qui


évite donc de répeter autant de fois la même chose qu'on a de controles
dont


on souhaite un comprotement identique sur un évenement.

Je sais cependant ( cf " La référence du Programmeur VBA pour Excel
2002 "


de Bullen , Green , Bovey et Rosenberg ) que certains controles ne
supportent


pas la prise en charge de certains évenements par un module de classe
(exemple: les evenements BeforeUpdate, AfterUpdate , Enter et Exit des
controles labels ne sont pas disponibles dans un module de classe) . Il
en


est peut-être de même pour d'autres types d'évenements pour d'autres
controles.

Donc ma question est la suivante: quelqu'un connait-il la liste
exhaustive


des évenements non pris en charge dans un module de classe selon les
types de


controle ?

Merci de votre aide.









Avatar
Emcy
et bien c'est la méthode que j'ai cité prédemment .. ?? tu es sure que tu as
compris ce que je voulais dire ?

Remarque : si tu t'en sent le courage ça serait bien d'avoir cette liste
(avec un exemple pour chaque commande) dispo sur excel-download, je suis
sure que ça interesserait beaucoup de personnes.

"anomymousA" a écrit dans le message
de news:
bonjour,

je te remercie. Je connaissais ton travail qui est bien fait. ca ne répond
pas cependant tout à fait la question.
Ceci dit, il me semble que la seule solution , à bien y réfléchir ,
consiste

à esayer de créer une variable withevents pour chaque type de contrôle et
de

regarder ce qu'Excel propose dans le gestionnaire d'évènements.

Merci encore.


bonjours,

j'ai fait des classeurs qui expliquent le fonctionnement les modules de
class :
http://www.excel-downloads.com/html/French/fichiers/vba-date_maj-1.htm

Si tu ouvres le classeur "Module de Classe 3(événement clic).xls" , que
tu


va voir à l'interrieur du module de class "MaClasse" et que tu clic sur
"ElementSelectionné_Click()" : tu verras apparaitre le mot "click" en
gras


écris dans un menu déroulant en haut à droite de la fenetre => si tu
déroule


se menu, tu verras apparaitre tous les evenement possible pour un Label.

si tu veux voir pour un autre objet, selctionnes ".Label" de la ligne
"Public WithEvents ElementSelectionné As MSForms.Label" et appuyes sur
la


touche "." : normalement un petit menu apparait qui te montre tous les
objets disponible => après, il te suffit de faire la même méthode
qu'auparavant pour connaitre les evenements associés à l'objet que tu
viens


de selectionner.

ça te va comme réponse (je ne suis pas sure d'être assez clair)?



"anomymousA" a écrit dans le
message


de news:
Ce sont les controles texte bien sur et pas les controles labels qui
sont



concernés dans la référence à l'ouvrage "La référence du Programmeur"


Bonjour et bonne année à tous,

Répondant à une question sur ce forum, il me vient moi-même une
interrogation.

Quand on souhaite sur un Userform déclarer pour un ensemble de
controles




un
même type de réponse à un évenement donné , il me semblait que la
meilleure


réponse était de construire un module de classe référencant pour ce
type




de
controle la conduite à tenir pour un evenement donné, puis de
référencer




( ou
instancier ) les dits controles du userform à ce module de classe,
ce




qui
évite donc de répeter autant de fois la même chose qu'on a de
controles




dont
on souhaite un comprotement identique sur un évenement.

Je sais cependant ( cf " La référence du Programmeur VBA pour Excel
2002 "


de Bullen , Green , Bovey et Rosenberg ) que certains controles ne
supportent


pas la prise en charge de certains évenements par un module de
classe




(exemple: les evenements BeforeUpdate, AfterUpdate , Enter et Exit
des




controles labels ne sont pas disponibles dans un module de classe) .
Il




en
est peut-être de même pour d'autres types d'évenements pour d'autres
controles.

Donc ma question est la suivante: quelqu'un connait-il la liste
exhaustive


des évenements non pris en charge dans un module de classe selon les
types de


controle ?

Merci de votre aide.











Avatar
anomymousA
Ok . c'est vrai que j'avais mal lu la réponse. Je ne suis pas sur d'avoir
vraiment par ailleurs le courage de faire ce job.

A+


et bien c'est la méthode que j'ai cité prédemment .. ?? tu es sure que tu as
compris ce que je voulais dire ?

Remarque : si tu t'en sent le courage ça serait bien d'avoir cette liste
(avec un exemple pour chaque commande) dispo sur excel-download, je suis
sure que ça interesserait beaucoup de personnes.

"anomymousA" a écrit dans le message
de news:
bonjour,

je te remercie. Je connaissais ton travail qui est bien fait. ca ne répond
pas cependant tout à fait la question.
Ceci dit, il me semble que la seule solution , à bien y réfléchir ,
consiste

à esayer de créer une variable withevents pour chaque type de contrôle et
de

regarder ce qu'Excel propose dans le gestionnaire d'évènements.

Merci encore.


bonjours,

j'ai fait des classeurs qui expliquent le fonctionnement les modules de
class :
http://www.excel-downloads.com/html/French/fichiers/vba-date_maj-1.htm

Si tu ouvres le classeur "Module de Classe 3(événement clic).xls" , que
tu


va voir à l'interrieur du module de class "MaClasse" et que tu clic sur
"ElementSelectionné_Click()" : tu verras apparaitre le mot "click" en
gras


écris dans un menu déroulant en haut à droite de la fenetre => si tu
déroule


se menu, tu verras apparaitre tous les evenement possible pour un Label.

si tu veux voir pour un autre objet, selctionnes ".Label" de la ligne
"Public WithEvents ElementSelectionné As MSForms.Label" et appuyes sur
la


touche "." : normalement un petit menu apparait qui te montre tous les
objets disponible => après, il te suffit de faire la même méthode
qu'auparavant pour connaitre les evenements associés à l'objet que tu
viens


de selectionner.

ça te va comme réponse (je ne suis pas sure d'être assez clair)?



"anomymousA" a écrit dans le
message


de news:
Ce sont les controles texte bien sur et pas les controles labels qui
sont



concernés dans la référence à l'ouvrage "La référence du Programmeur"


Bonjour et bonne année à tous,

Répondant à une question sur ce forum, il me vient moi-même une
interrogation.

Quand on souhaite sur un Userform déclarer pour un ensemble de
controles




un
même type de réponse à un évenement donné , il me semblait que la
meilleure


réponse était de construire un module de classe référencant pour ce
type




de
controle la conduite à tenir pour un evenement donné, puis de
référencer




( ou
instancier ) les dits controles du userform à ce module de classe,
ce




qui
évite donc de répeter autant de fois la même chose qu'on a de
controles




dont
on souhaite un comprotement identique sur un évenement.

Je sais cependant ( cf " La référence du Programmeur VBA pour Excel
2002 "


de Bullen , Green , Bovey et Rosenberg ) que certains controles ne
supportent


pas la prise en charge de certains évenements par un module de
classe




(exemple: les evenements BeforeUpdate, AfterUpdate , Enter et Exit
des




controles labels ne sont pas disponibles dans un module de classe) .
Il




en
est peut-être de même pour d'autres types d'évenements pour d'autres
controles.

Donc ma question est la suivante: quelqu'un connait-il la liste
exhaustive


des évenements non pris en charge dans un module de classe selon les
types de


controle ?

Merci de votre aide.