Bonjour à tous et toutes et merci de votre temps et de votre aide.
J'ai essayé d'utiliser une "écoute" des événements d'un autre formulaire (frmAEcoute) dans un formulaire (frmEcoutant) .
J'ai donc défini une variable de module.
et l'éditeur m'a permis de créer, via ses listes de sélection.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Option Compare Database Option Explicit Dim WithEvents m_frmAEcoute As Form
dans frmAEcoute, j'ai mis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub m_frmAEcoute_Close() msgbox "m_frmAEcoute_Close" End Sub
Mais quand je ferme frmAEcoute l'événement m_frmAEcoute_Close ne se déclenche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Form_Close() MsgBox "Form_Close()" End Sub
J'ai essayé de mettre
Mais j'ai immédiatement une erreur de compilation "Attendu : Identificateur".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Form_Close() MsgBox "Form_Close()" RaiseEvent Close End Sub
J'ai essayé RaiseEvent Form_Close, qui ne provoque pas erreur de compilation immédiate mais provoque quand même une erreur "événement introuvable" lors d'une demande de compilation.
J'ai trouvé une solution avec un événement "Closing" que je défini moi-même mais j'aurais aimé une solution qui récupère les événements standards du formulaire plutôt que d'avoir à écrire les miens.
Quelqu'un sait-il si c'est possible ?
Pour la petite histoire, comme je n'avais besoin de surveiller seulement le close, j'ai mis une solution à base de passage d'objet à frmAEcoute que je récupère ensuite dans frmEcoutant qui marche très bien mais je trouve la solution des événements porteuse de plus de possibilités.
A+
Partager