Gérer plusieurs UserForms

mjuju - 13 oct. 2014 à 19:32
jordane45 Messages postés 36384 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 octobre 2022 - 13 oct. 2014 à 19:48
Bonjour,
Je voudrais gérer plusieurs UserForms un peu comme MDI en VB6. Je résume:
J'affiche une première UserForm que j'appelle M (Main). Là, j'ai le choix: en cliquant sur le bouton adéquat je peux afficher l'une des 3 UserForms 'dépendantes' D1, D2 ou D3. Je ne fais pas de hide de l'UserForm M.
J'affiche donc D1,D2 ou D3 par-dessus M. Là je me pose déjà la question de la performance. Mais bon... là où ça se gâte c'est quand je veux faire un Minimize de ce qui est affiché. Donc il faut faire non seulement un Minimize de l'UserForm 'dépendante', mais aussi de M. Ca marche. Mais quand je reviens sur l'écran pour afficher à nouveau normalement D1, D2 ou D3, l'UserForm s'affiche rapidement puis disparaît. Tout se passe comme si le programme s'était arrêté (quand je clique sur le bouton 'réinitialiser le projet' rien ne se passe)...
Bref...
Ma question est toute bête: comment gérer 2 voire 3 UserForms en même temps? Pour l'instant j'ai créé une UserForm unique où je gère 3 Frames F1, F2 et F3 en changeant la proriété Caption de l'unique UserForm. Ca marche mais c'est une solution qui ne me satisfait pas trop. Peut-être je suis trop exigeant?

Bon. Si vous avez une solution à mon petit problème ... j'en serais ravi.

Cordialement.

1 réponse

jordane45 Messages postés 36384 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 octobre 2022 347
13 oct. 2014 à 19:48
Bonjour,

Je pense que tu devrais déjà (si ce n'est pas le cas) mettre tes USF en non modal.

Et pour en apprendre plus sur les USF, tu peux consulter ce tuto :
http://silkyroad.developpez.com/VBA/UserForm/#LIII-A-1

Après.. concernant ta "question ":
Ma question est toute bête: comment gérer 2 voire 3 UserForms en même temps?
Il faudra revenir vers nous avec une question plus précise (ou alors c'est moi qui ne comprend pas tout...) car je pense que ta question est trop "vague" pour trouver une réponse réellement adéquat.


0