Bonjour Coco, Luki, Eric, José, le Forum
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...)
Dans ton cas Coco, je pense que le fait que maintenant le Mode Non modal soit accepté sous Excel 2000 déclenche ta message box immédiatement... Alors que sous 97 le UserForm était tout de même en mode Modal... Ce devait pouvoir passer puique cette propriété est faite en mode Design dans ton exemple (en Run Time ce ne serait pas passé avec Excel 97)
En Run Time, voici les codes :
Mode Modal :
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 :
Mode Modal :
Private Sub CommandButton1_Click()
UserForm1.Show 1
End Sub
Mode NON Modal : '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
Pour l'API pour Excel 97 je vois qu'Eric à fouillé les archives...
Bonne Soirée
[ol]@+Thierry[/ol]
EDITION !!!
Et en fouillant encore plus loin dans les 'entrailles d'XLD' :
Lien supprimé
Message édité par: _Thierry, à: 14/02/2006 19:05