Bonjour à tous,
J'ai quelques questions sur les événements liés au Userform et plus particulièrement Initialize, Activate, Deactivate, QueryClose et Terminate:
Dans mon appli, je construis la structure du Userform via la méthode Initialize que j'appelle à l'ouverture du classeur. Ensuite à chaque clic droit de l'utilisateur sur une certaine plage de cellule, je fais s'afficher le Userform via la méthode Show. Ce que j'aimerais c'est que la méthode Initialize ne soit pas rappelée à chaque clic droit. Je voudrais que la strucure du Userform soit chargée une fois pour toute et qu'au clic droit, seuls certains contrôles du UF soient modifiés.
Pour faire ça:
- je charge le UserForm via la méthode Load à l'ouverture du classeur.
- j'ai modifié la méthode QueryClose afin que la fermeture par l'utilisateur du UF corresponde simplement à un "masquage" de ce dernier :
Ca fonctionne mais je ne sais absolument pas si c'est la bonne manière de faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then Me.Hide Cancel = True End If End Sub
- Du coup, je ne me sers pas des événements Activate et Deactivate
...
- De plus, dois je faire un Unload dans la méthode Terminate à la fermeture du classeur ou est ce implicite?
Je suis preneur de tous bons conseils.
Merci d'avance.
Partager