Bonjour à tous
Je voudrais créer un Menu dans un userform pour naviguer entre plusieurs classeurs avec VBA, dont chacun contient son propre Userform.
Je voudrais bien faire des boutons d'aller retour au menu
Merci
Bonjour Job je suis vraiment désolée, j'ai déjà essayer avec les codes que vous m'avez donné mais ça ne marche pas c'est pour ca que j'ai essayer de faire une autre discussion car j'ai cru que j'ai mal présenté ma question la première fois.
Ci_joint deux fichier et mon but de faire un "userform" contenant un menu de boutons qui me permet d'aller vers autre classeur.
Désolée autre fois et Merci pour l'aide
Oui, c'était le sens de l'autre discussion: se balader d'un classeur à l'autre sans ordre prédéfini.
Là c'est différent: c'est toujours d'un menu père vers un classeur fils, puis retour au menu.
On peut alors éviter le non modal autorisant l'accès aux cellules, ce qui peut représenter un inconvénient.
Là c'est différent: c'est toujours d'un menu père vers un classeur fils, puis retour au menu.
On peut alors éviter le non modal autorisant l'accès aux cellules, ce qui peut représenter un inconvénient.
Sans hiérarchie en modal ce n'est pas tout à fait pareil: je crois que les Show imbriqués non terminés vont s'ajouter dans la pile, parce que je pense que le Me.Hide ne peut terminer le Show qui a affiché l'UserForm qu'une fois la procédure qui le contient terminée.
Mais bon… même si j'ai raison, ça peut marcher quand même. Il faudrait sans doute des millier d'années pour arriver à saturer la pile par ce biais ! Mais ce n'est techniquement pas correct.
Non, Me.Hide ne crée pas de pile. La pile existe toujours. C'est un fondement de base du fonctionnement de tous les programmes et procédures. C'est le support des paramètres, variables locales et adresse de retour dans le code de la procédure appelante.
Je parle en somme de procédures qui n'arrivent pas à se terminer, alors qu'elle n'ont plus rien à faire, à cause d'incessants appels récursifs mutuels.
Bonjour Job75.
Oui, je me doutais vaguement aussi que ça ne dégagerais pas la pile non plus avec des Unload Me
Le problème c'est plutôt que les procédures engagent indirectement des UFm.Show modaux et mutuels avant de pouvoir se terminer.
J'ai commencé un truc avec un seul chef d'orchestre dans un module de classe du classeur de menu. J'ai mis les procédures supposées externes dans le même classeur, mais elles peuvent être mises dans d'autres, il suffirait de spécifier leurs noms à la place de "Menu" dans les BMs.Add