Bonjour.
Il devrait être possible aussi de définir un nom dans le classeur référençant la cellule A1 de la 1ère feuille de l'autre classeur.
Cette référence là aussi porterait le chemin seulement s'il n'est pas déjà ouvert. Il ne resterait qu'à faire un
Application OnTime Now, Split(ThisWorkbook.Names("LeNom").RefersTo, "]")(0) & "]!LeNomDeLaMacro"
À essayer en tout cas.
Comment ça vous ne voyez plus le UserForm ? S'il a sa propriété ShowModal à True, c'est normal, non ? Il doit être fermé pour que l'autre puisse s'ouvrir. C'est le bouton de l'autre qui le fera fermer le sien après avoir planifié pour tout de suite le réaffichage du 1er.
Avec des propriétés ShowModal à False sur les deux UserForm, il n'y a plus aucune hiérarchie dans leurs affichages, leurs méthode Show s'exécutent et rendent la main aussitôt à la procédure appelante. Il n'est alors plus nécessaire de différer les exécutions par des OnTime pour ne pas encombrer la pile d'un tas d’exécutions imbriquées non terminées.
Mais dans ce cas, à la limite, il n'y a plus rien de spécial à faire: les deux UserForm peuvent être affichés tout le temps en même temps, et vous pouvez toujours accéder à l'un ou à l'autre quand vous voulez.