Appeler un USF à partir d'un autre USF

Magic_Doctor

XLDnaute Barbatruc
Bonsoir à tous,

J'ai 2 USF : "UserForm1" & "UserForm2"

J'appelle l'USF "UserForm2".
Quand je clique sur le "CommandButton" qui s'y trouve ("CommandButton1"), non seulement je voudrais que que cet USF disparaisse, mais que l'autre USF ("UserForm1") apparaisse.
J'ai écrit :

Private Sub CommandButton1_Click()

Unload UserForm2
UserForm1.Show

End Sub

Et bien, contre toute attente (...), ça ne marche pas du tout !
Où donc peut bien se trouver l'erreur ?

Merci de m'aiguiller.
 
C

Compte Supprimé 979

Guest
Re : Appeler un USF à partir d'un autre USF

Hola Magic_doctor

As-tu essayé
Code:
Private Sub CommandButton1_Click()
  UserForm2.Show False
End Sub
 
Private Sub CommandButton1_Click()
UserForm1.Show False
Unload UserForm2
End Sub

Il faut que tes USF ne soient pas en mode Modal (par défaut)
Lorsqu'un objet UserForm n'est pas modal, le code suivant est exécuté dès qu'il apparait. Les feuilles non modales n'apparaissent pas dans la barre des tâches et ne figurent pas dans l'ordre de l'onglet de la fenêtre.

A+
 
Dernière modification par un modérateur:

Magic_Doctor

XLDnaute Barbatruc
Re : Appeler un USF à partir d'un autre USF

Hola BrunoM45,

J'ai essayé mais ça n'a pas marché. Enfin, je suis habitué, sur Excel tout est un peu tordu, surtout quand il s'agit de faire quelque chose EXTRAORDINAIREMENT SIMPLE, comme c'est le cas ici : quand je clique sur un bouton un truc disparaît et un autre apparaît...!!!
Quant à "Modal", alors là je n'ai absolument rien compris.

Faire disparaître l'"UserForm2", en cliquant sur le "CommandButton" de l'"UserForm2", manifestement il n'y a pas de problème : Unload UserForm2 ---> ça marche
Mais faire apparaître, dans la foulée, l'"UserForm1", alors là c'est une toute autre histoire...
 

Magic_Doctor

XLDnaute Barbatruc
Re : Appeler un USF à partir d'un autre USF

Re,

J'ai compris pourquoi cela ne marchait pas.
Il se trouve qu'au départ je n'avais qu'un seul USF pour lequel j'avais, disons, rajouté des APIs afin de pouvoir :
- insérer une icône dans la barre de titre de l'USF
- personnaliser le texte contenu dans la barre de titre de l'USF, ainsi que la couleur du texte (l'effet me plaisait...).

Ça marchait bien.
J'ai dû rajouter un 2ème USF pour des raisons techniques en voulant que cet autre USF bénéficie des mêmes caractéristiques que le 1er avec les APIs. Et là ça plante.

J'enlève les APIs et ça marche !

Concernant l'affichage Modal et non Modal, je pense avoir compris.
Par défaut, quand on appelle un USF, l'affichage est Modal, ce qui signifie que tant que l'USF est là on ne peut strictement rien faire sur la feuille (si l'on tente il ne se passe rien et l'on entend un affreux "Gling"). En revanche, si l'on décide que l'affichage soit non Modal, même si l'USF est apparent on peut écrire ou faire ce que l'on veut sur la feuille.
Un lien intéressant que j'ai trouvé expliquant assez bien ces "subtilités" :
Utiliser les UserForm en VBA Excel

En ce qui me concerne, du moins pour le cas de figure qui m'occupe, je préfère un affichage Modal, vu que tant que l'on n'a rien paramétré dans l'USF, il est exclu de faire quoi que ce soit sur la feuille.

Bonne fin de soirée.
 

Pièces jointes

  • USF1 & USF2 (97-2003).xls
    82.5 KB · Affichages: 51
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Appeler un USF à partir d'un autre USF

Salut Magic_Doctor

Sinon avec un seul USF tu peux faire la même chose
Voir fichier joint ;)

PS : un OptionButton n'a pas besoin d'être mis à FAUX/VRAI en fonction d'un autre
ce sont des OptionButton donc si l'un est VRAI l'autre sera forcément FAUX
 

Pièces jointes

  • Magic_Doctor_USF1&USF2.xls
    49 KB · Affichages: 63

Magic_Doctor

XLDnaute Barbatruc
Re : Appeler un USF à partir d'un autre USF

Hola BrunoM45,

Merci d'avoir, comme dirait job75, "karcherisé" ma prose un peu lourde.
En effet, je me doutais bien que ce devait être possible avec un seul USF, mais ne sachant comment m'y prendre, j'avais tout bonnement choisi la solution brut de décoffrage.
Quant aux "OptionButton" tu as tout à fait raison, mais je n'étais pas sûr qu'ils, disons, se synchroniseraient automatiquement entre eux dans l'USF.
Je vais en profiter pour remettre les APIs et voir ce que ça donne. Toute critique sera la bienvenue.

Buen fin de tarde.
 

Pièces jointes

  • Magic_Doctor_USF1&USF2 + APIs.xls
    47.5 KB · Affichages: 60

Discussions similaires

Statistiques des forums

Discussions
312 611
Messages
2 090 220
Membres
104 452
dernier inscrit
hamzamounir