En VB, il me semble que dans l'évènement
Sub Form_QueryUnload (Cancel As Integer, UnloadMode As Integer)
si on met Cancel = 0 (ou 1, je me souviens plus), ça voulait dire qu'on refusait la commande (suite par ex à test "Voulez-vous vraiment quitter l'application ?" ).
Pour la suite, faudrait "Hider" la "form" principale, car si le "Cancel" est inhibé, on se retrouve comme "juste avant" le click sur la croix.....
Sub Form_QueryUnload (Cancel As Integer, UnloadMode As Integer)
Cancel = x (0 ou 1, je crois)
End sub
Le pb est que Cancel est actif quand on quitte ce sub => faut trouver où mettre l'affichage de la feuille "nouvelle".
Si QueryClose() appelle QueryUnload(), suffit de le mettre au retour du Unload.. .... (?)