bonjour
même si je n'ai pas saisi la nuance entre "Initialize" & "Activate".
la différence je vais te l'expliquer a ma manière
le initialise:
on est dans un module classe userform!!!!!!!
le activate :
on est dans un userform!!!!!!!!!
il est évident que ces deux contextes n'offrent pas les même possibilités
tu a sans doute remarqué que j’appelle le clik du bouton au démarrage dans le activate
tu ne peux pas faire ça dans le initialise car a ce stade c'a n'est pas encore un userform ca n'est qu'un module classe et du code
le doevents dans le do permet de libérer l'userform pour que d'autre events ou macro puissent tourner
il est évident que dans le initialise comme ca n'est pas encore un userform le doevents servirait a rien(puisque un module n'a pas d'events)
et donc l'affichage complet(le repaint fini du userform ) du userform n'arriverait jamais car a ce stade il n'est pas encore object userform actif donc un beau carré blanc
il faut bien saisir le contexte entre vbcomponent et object userform
-------------------------------------------------------------------------------------------
pour ce qui est de ton dialog mot de passe
il y a 4 phrases dont celle d’accueil (l'avertissement de depart)
je les met toutes dans le click du bouton
tu constatera que ta variable i static est devenue long et globale module
et que i=-1 au départ
a chaque click i augmente de 1 et on change de phrase
donc des le départ je click donc i=0 et on est dans la phrase(0)
tu click donc 3 fois de plus si c'est pas zaza c'est la phrase (i)
une fois passé ces trois ratés j'ai pensé que bloquer le tout était normal
donc après 3 essais ratés tu a la phrase 4(la 5eme) et le textbox prend tout l'userform
et tu ne peux faire q'une chose : c'est cliquer ESC pour sortir
voila c'est simple
je vous aurais bien fait quelques démonstrations de servitude (module classe/userform/les deux ) pour vous expliquer mais je polluerais cette discussion
mais vous en avez déjà un aperçu assez large avec mes pseudo boite de dialog dans les ressources