En gros l'événement UserForm_Activate se déclenche à chaque fois que tu actives ton userform :
en gros si tu l'appelles, le curseur sera dans la textbox1
tu peux le fermer
si tu le ré-appelle plus loin, l'userform sera de nouveau chargé avec le curseur en textbox1
C'est comme si il pré-chargeait des réglages au moment ou tu l'appelles, mais c'est trop rapide pour l'oeil humain.
Mais tu peux grâce à cela, soit positionner ton curseur, soit précharger des valeurs dans des textbox, des listes déroulantes ou autres, ou activer ou non certaines parties de ton userform en fonction de diverses conditions.
Par exemple tu peux charger ton userform avec ton commandbutton4 désactivé car la condition X n'est pas remplie, et plus tard dans ton fichier, faire réapparaitre ton userform4 avec le commandbutton4 activé car la condition s'est remplie entre temps.
Ce qui donnerait :
Sub UserForm_Activate()
If Condition = OK then
CommandButton4.enabled = true
else
CommandeButton4.enabled = false
end if
end sub
Après tu peux faire beaucoup de chose autre que seulement activer / désactiver un contrôle, comme je disais tu peux lui remplir une valeur, l'afficher / le masquer, ....
Cordialement,