patricktoulon
XLDnaute Barbatruc
c'est bien ce que je disCeci dit, j'ai essayé ça et ça ne marche pas car en déclarant l'instance mère (du UserForm) dans les instances filles, elle ne se termine pas à la fermeture du UserForm car elle est toujours référencée dans les instances filles qui sont encore présentes.
Edit: la question est donc pourquoi ça marche avec ton Classeur2 et pas le UserForm ni dans mon Classeur3 ?
C'est pour ça que dans la version qui fonctionne, je n'ai pas déclaré l'instance mère (du UserForm) dans les instances filles, mais seulement le UserForm pour l'utiliser pour accéder l'instance mère (Me.UserForm.ClasseUserForm).
je le redis pourquoi je fais ça;
c'est pour avoir une référence commune a toutes les filles par exemple ici la ref OldControl membre de la classe
quand une classe est mis en route memoire. oldcontrol devient le control de l'instance de classe
si je faisais set me.oldcontrol =ctrl
au prochain keyup ou mousedown old control serait inconnu de la classe du control actuel
je pourrait certes mettre une variable public dans le userform public Oldcontrol as object
et l'utiliser dans les event de la classe
ca veut dire que la pour gerer le enter et exit on travaille avec 2 module (le module classe et le module userform) hors je fait du transportable
tu glisse le module dans ton projet tu fait les appels et et arrêts dans ton userform et terminé tu n'a pas à gérer d'autres variables qui se communique entre module
je ne termine pas la mère par le code je termine les filles c'est pas la même choseC'est pour ça que, pour le code Exit/Enter, tu as intérêt à utiliser comme Classe mère la Classe déclarée dans le UserForm car à la fermeture du UserForm elle sera automatiquement terminée (logique car portée UserForm) et donc toutes ses filles avec. Sans que tu aies à terminer la Classe mère par le code
la mère se termine toute seule à la fermeture du Userform
quand a la question pourquoi ca marche pas ben donne moi ton classeur3 qui marche pas je vais vérifier