Salut Lolo, le Forum
Voici des bases pour les UserForms :
La notion Modal / Non Modal signifie :
Mode Modal :
Un objet UserForm est toujours modal par défaut, il en résulte que l'utilisateur doit toujours répondre avant d'utiliser une autre partie de l'application. Aucun autre code ne s'exécutera tant que l'objet UserForm ne sera pas masqué ou déchargé. Bien que les autres feuilles de l'application soient désactivées pendant l'affichage d'un objet UserForm, les autres applications ne le sont pas.
Mode NON Modal :
Lorsqu'un objet UserForm n'est pas modal, le code suivant est exécuté dès qu'il apparait. Il résulte aussi que l'utilisateur peut toujours utiliser une autre partie de l'application (par exemple saisir sur une feuille) sans avoir à répondre en premier au UserForm. Ce mode permet aussi de lancer plusieurs UserForms en même temps et de permetre à l'utilisateur de répondre indifféremment à chachun d'eux. (Etc...)
Mise en Garde Excel 97
Les objets UserForms d'Office 97 sont toujours de forme modale, le mode vbModeless (non modal) n'est pas supporté. IL existe une API capable de simuler ce mode Non MOdal pour Excel 97)
La syntax pour lancer un UserForm Modal ou Non Modal :
b]Mode Modal : [/b]
exemples depuis un Bouton ActiveX sur Feuille en Private Module de Sheet
Private Sub CommandButton1_Click()
UserForm1.Show vbModal
End Sub
Mais en fait, vu que c'est par défaut, il est inutile de le préciser, ceci est équivalent :
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Ou encore :
b]Mode Modal : [/b]
Private Sub CommandButton1_Click()
UserForm1.Show 1
End Sub
b]Mode NON Modal : [/b] 'Non supporté par Excel 97
Private Sub CommandButton1_Click()
UserForm1.Show vbModeless
End Sub
Ou encore :
Private Sub CommandButton1_Click()
UserForm1.Show 0
End Sub
Voilà à peu près l'aide que je peux te donner, en espérant que çà t'éclairera...
Bon Samedi à tous et toutes
@+Thierry