• Initiateur de la discussion Initiateur de la discussion Dave de grenoble sur chaune
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Dave de grenoble sur chaune

Guest
salut les gens.
petite question toute simple toute gentil

quelle commande taper dans ma macro pour fermer un UserForm tout seul?

merci 🙂
 
oui merci ca marche
j'avais deja tenté, je voulais savoir si il avait une autre commande

le probleme est que j'ai plusieur UserForm de suite
on en rempli un, et le second se lance.
si je ferme moi meme l'userForm no prob
par compt si j'ecris Unload Userform1, ca saute l'Userform2 et ca passe a l'userform3

à mon avis excel se melange avec tt c Userform 🙁
 
Bonjour Dave, Bonjour Abel, le Forum

Non à mon humble avis Excel, enfin VBA plutôt, ne se mélange jamais les pinceaux avec les UserForms.

Non ton souci doit provenir du fait que tu travailles en mode Modal (par défaut sur les UserForms) et que par conséquent tu dois respecter un ordre logique de fermeture.

En mode Modal, en fait chaque fenêtre stoppe l'action précédente en prenant le focus et en restant dans l'attente d'une action de l'utilisateur.

Soit tu peut tout passer en mode Non-Modal, soit en lançant les Userform successivement de la Sorte :

UserForm1.Show False '(ou 0)

Soit tu dois gérer un ordre logique :

Le UserForm1 a été ouvert en Mode Modal
Ce UserForm1 contient un CommandButton qui lance le UserForm2... Ce dernier contient un CommandButton qui lance le UserForm3 et ainsi de suite...

Dans le Bouton final du UserFormX tu dois logiquement procéder :

Private Sub CommandButton1_Click()
Unload Me
Unload UserForm3
Unload UserForm2
Unload UserForm1
End Sub

Sinon la méthode la plus propre en programmation est justement d'éviter d'avoir une profusion d'UserForms, et éventuellement dans le cas de nécessité de changement alors on décharge le Précédent en Chargeant le Nouvel UserForm...

Bon Aprèm
@+Thierry
 
RE Bonjour

unload me, marche pas vu que je ferme l'userform avec une macro.
mes userforms sont tout simple
une fenetre appartait, puis on a la choix entre 3 truc
j'ai pas mis de bouton de validation
on click sur un des trois truc, ca lance une macro qui a la fin de son execution ferme l'userform en question

voila comment sont mes userforms

Private Sub LbxMacro_Click()
Select Case Me.LbxMacro.ListIndex
Case 0: Call B15_45_1
Case 1: Call BB15_45_2
Case 2: Call BBB15_45_3
End Select
End Sub
Private Sub UserForm_Initialize()
Me.Caption = q
With Me.LbxMacro
.ListStyle = fmListStyleOption
.AddItem 'Les deux dernières'
.AddItem 'Les trois dernières'
.AddItem 'Toutes'
End With


j'ai tenté UserForm1.Show False mais c pir
End Sub
 
Re,

USF = appeau à _Thierry.
Hi hi !

Belle explication. Merci Thierry. C'est vrai que Excel fait tout 'dans l'ordre'. J'aurai du le préciser.

Attention avec le modal/non modal. Je crois que c'est géré par Excel seulement à partir de la version 2000, sauf erreur de ma part.
Donc, n'est pas géré sur Excel97 et antérieur ...


Abel.
 
oki merci à tous
finalement avec un bonton de validation et avec les indication de Thierry ca marche

mais autre probleme tout bete, comment je dois ecris mon userform pour que la macro se lance seulement quand je click sur le bouton validation


Private Sub CommandButton1_Click()
Unload Me
Unload User3
Unload User2
End Sub
Private Sub LbxMacro_Click()
Select Case Me.LbxMacro.ListIndex
Case 0: Call B15_45_1
Case 1: Call BB15_45_2
Case 2: Call BBB15_45_3
End Select
End Sub
Private Sub UserForm_Initialize()
Me.Caption = q
With Me.LbxMacro
.ListStyle = fmListStyleOption
.AddItem 'Les deux dernières'
.AddItem 'Les trois dernières'
.AddItem 'Toutes'
End With
End Sub


je dois changer quoi la? (je debute sur excel)
 
Re Bonjour à tous

Oui exact Abel, pas de Mode Non-Modal en dessous d'Excel 2000 (sinon il existe une méthode par API).

Pour ta dernière question Dave, je suppose que ton Bouton de Validation est le 'CommandButton1' ?

Si c'est le cas c'est dans celui-ci que tu dois déclencher ta macro...

Exemple :

Private Sub CommandButton1_Click()
Call TheValidationMacro
    Unload Me
    Unload UserForm3
    Unload UserForm2
    Unload UserForm1
End Sub


Private Sub TheValidationMacro()
    Range('A1') = UserForm1.TextBox1
    Range('B1') = UserForm2.ListBox1
    Range('C1') = UserForm3.TextBox1
    Range('D1') = Me.TextBox1
End Sub

Bon Aprèm
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
182
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
517
Réponses
9
Affichages
256
Retour