Bonjour Patrick
Bon, c'est pas facile à expliquer, alors le plus simple, c'est de prendre les explications de l'aide de VBA:
"Lorsqu'un objet UserForm est modal, l'utilisateur doit fournir des informations ou fermer l'objet UserForm pour pouvoir utiliser toute autre partie de l'application. Aucun code suivant n'est exécuté tant que l'objet UserForm est masqué ou déchargé. Bien que d'autres feuilles de l'application soient désactivées lorsqu'un objet UserForm est affiché, les autres applications ne le sont pas.
Lorsqu'un objet UserForm n'est pas modal, l'utilisateur peut afficher d'autres feuilles ou fenêtres sans fermer cet objet.
Les feuilles non modales ne sont pas affichées dans la barre des tâches et ne figurent pas dans l'ordre de tabulation de la fenêtre.
Note Si vous tentez d'ouvrir un objet UserForm qui possède la propriété ShowModal dans Microsoft Office 97, une erreur au moment de l'exécution est générée car Office 97 affiche uniquement les objets UserForm de type modal. Office 97 ignore la propriété ShowModal et affiche l'objet de façon modale."
Voilà, alors je résume avec mes mots:
Jusqu'à Excel97, un UserForm ne pouvait être QUE MODAL. La propriété "ShowModal" n'est apparue que dans les versions suivantes.
Depuis, par défaut, un UserForm est aussi affiché en mode MODAL, sauf si on spécifie le contraire (ce qui peut se faire en ajoutant le 0: TonUserForm.Show 0)
Dans ton cas, ton premier UserForm s'affichait donc en étant MODAL.
Cela veut dire que, à part ce qui le concerne, toutes les autres feuilles ne peuvent être utilisées. Cependant, le deuxième s'affiche bien, car la demande provient du premier userform. En revanche, lorsque tu cliques sur le bouton OK du 2ème userform, sa fermeture n'est pas prise en compte, car seules les demandes émanant du premier sont faisables.
Pas sûr du tout d'être très clair, si tu as compris, cela va tenir du miracle!
Concrètement, dans ton cas: mets ton premier Userform en mode NON MODAL, de manière à pouvoir ensuite travailler sur le second indépendament. En revanche, il vaut mieux laisser le second en mode MODAL, de manière à ne pas laisser l'utilisateur modifier le premier sans avoir cliquè sur le bouton OK du second.
Une remarque, qui permettra peut-être finalement de mieux comprendre: Si on affiche un userform MODAL, on ne peut pas travailler sur la feuille excel. On ne peut que utiliser les contrôles de l'usf.
En revanche, si on affiche un USF NON MODAL, on peut très bien le laisser dans son coin, et travailler directement sur la feuille Excel.
Voilà, Patrick, bon courage...
Laurent.
PS: pour être complet, où presque, si tu crées un userform et que, à un moment, tu l'utilises en NON MODAL, et si ensuite tu ouvres ton appli sur une version d'avant Excel98, tu auras une erreur.
Il existe des possibilités pour contourner ce problème, dans le cas d'utilisation simultanée de plusieurs userforms sous Excel 97, mais c'est souvent un casse-tête.