"End" sur UF
Résolu
touroul
Messages postés
509
Date d'inscription
Statut
Membre
Dernière intervention
-
touroul Messages postés 509 Date d'inscription Statut Membre Dernière intervention -
touroul Messages postés 509 Date d'inscription Statut Membre Dernière intervention -
Bonsoir le forum
J'ai fait une macro "Import" comprenant plusieurs UF et plusieurs Call faisant appel à d'autres procédures.
Connaissez-vous un truc pour qu'en cliquant sur la croix rouge des UF, on quitte la macro principale, ou encore mieux, qu'on lance une autre macro "Reaffiche".
Exemple :
Par avance merci pour votre aide précieuse.
Bonne soirée
J'ai fait une macro "Import" comprenant plusieurs UF et plusieurs Call faisant appel à d'autres procédures.
Connaissez-vous un truc pour qu'en cliquant sur la croix rouge des UF, on quitte la macro principale, ou encore mieux, qu'on lance une autre macro "Reaffiche".
Exemple :
Sub Import()
Call Etape1
UFSelect1.Show
UFSelect2.Show
Call Etape1
End sub
Sub Reaffiche()
Sheets("Total").Select
Range("6:46").Select
Selection.RowHeight = 12.75
End Sub
Par avance merci pour votre aide précieuse.
Bonne soirée
A voir également:
- "End" sur UF
- Exemple planning 1 week-end sur 3 - Télécharger - Outils professionnels
- End clothing avis ✓ - Forum Consommation & Internet
- Exemple planning 1 week-end sur 2 - Forum Bureautique
- Planning quart 2x12h - Forum Excel
- Planning de cuisine 7/7 avec 2 Week end Par mois pour 3 pax. - Forum Excel
14 réponses
Bonjour,
Comme ceci:
Comme ceci:
Private Sub test() MsgBox "Terminé" End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) test End Sub
Bonjour Le Pivert
Merci pour l'aide.
J'ai essayé d'adapter mais j'ai quelques soucis :
En m'inspirant de ton code et de ce que j'ai vu sur ton site, j'ai ajouté à tous mes UF le code :
Dans ce cas, l'UF se ferme bien mais la macro principale ("Import") continue.
Serait-il possible de placer un code dans "Import" qui arrêterait l'exécution de cette macro principale (Call et UF compris), lorsqu'on clique sur la croix rouge d'un des UF ?
Pardon mais je veux vraiment comprendre !
D'avance merci
Merci pour l'aide.
J'ai essayé d'adapter mais j'ai quelques soucis :
En m'inspirant de ton code et de ce que j'ai vu sur ton site, j'ai ajouté à tous mes UF le code :
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
MsgBox "Opération abandonnée", vbInformation, ""
End
End Sub
Dans ce cas, l'UF se ferme bien mais la macro principale ("Import") continue.
Serait-il possible de placer un code dans "Import" qui arrêterait l'exécution de cette macro principale (Call et UF compris), lorsqu'on clique sur la croix rouge d'un des UF ?
Pardon mais je veux vraiment comprendre !
D'avance merci
Bonjour
A voir selon ton contexte
"End" rend la main au systeme pour Toutes les macros> en cours
Michel
A voir selon ton contexte
"End" rend la main au systeme pour Toutes les macros> en cours
Michel
Tu n'as pas tout lu:
https://silkyroad.developpez.com/VBA/UserForm/#LIII-B
Form principale UserForm1
Autre Form UserForm2
a mettre dans UserForm2:
https://silkyroad.developpez.com/VBA/UserForm/#LIII-B
Form principale UserForm1
Autre Form UserForm2
a mettre dans UserForm2:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) UserForm2.Hide Unload UserForm1 End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci d'avoir pris ce problème à coeur c'est sympa.
C'est réglé, je n'avais pas mis le End au bon endroit :
Voici mon code à mettre dans chaque UF (si ça peut servir) :
Bonne journée à vous et encore merci
C'est réglé, je n'avais pas mis le End au bon endroit :
Voici mon code à mettre dans chaque UF (si ça peut servir) :
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
MsgBox "Opération abandonnée", vbInformation, ""
Call Reaffiche
End
End Sub
Bonne journée à vous et encore merci
Oups, j'ai fermé un peu vite.
Je ne sais trop pourquoi, mais depuis ce code, lorsque je clique sur Suivant pour passer au reste de la macro principale, il me remet tout de suite sur le MsgBox "Opération abandonnée" et la macro s'arrête.
Un peu comme si le UserForm_QueryClose était prioritaire sur le CommandButton1_Click.
Voici le code des UF :
Merci d'avance, on va y arriver
Je ne sais trop pourquoi, mais depuis ce code, lorsque je clique sur Suivant pour passer au reste de la macro principale, il me remet tout de suite sur le MsgBox "Opération abandonnée" et la macro s'arrête.
Un peu comme si le UserForm_QueryClose était prioritaire sur le CommandButton1_Click.
Voici le code des UF :
Private Sub CommandButton1_Click()
Unload UFSelect1
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
MsgBox "Opération abandonnée", vbInformation, ""
Call Reaffiche
End
End Sub
Merci d'avance, on va y arriver
Dans ton cas, il ne faut pas utiliser End. Je t'ai donné un exemple à utiliser.
Avec End tu stoppes tout!
Avec End tu stoppes tout!
Bonjour Le Pivert
J'avais essayé le code proposé plus haut, mais il n'agissait que sur le UF rattaché et non sur l'ensemble de la macro.
Je me permets d'envoyer un fichier exemple :
Lorsque je clique sur Suivant, l'UF se ferme.
Par contre, lorsque je clique sur la croix, tout s'arrête, et ça c'est correct !
Ça sera peut-être plus compréhensible ainsi :
http://www.cjoint.com/c/EIrmfZtsxYw
A plus, merci !
J'avais essayé le code proposé plus haut, mais il n'agissait que sur le UF rattaché et non sur l'ensemble de la macro.
Je me permets d'envoyer un fichier exemple :
Lorsque je clique sur Suivant, l'UF se ferme.
Par contre, lorsque je clique sur la croix, tout s'arrête, et ça c'est correct !
Ça sera peut-être plus compréhensible ainsi :
http://www.cjoint.com/c/EIrmfZtsxYw
A plus, merci !
Je n'ai pas très bien compris ce que tu voulais faire. Voici une correction pour que tes macros se déclenchent. J'ai mis des MsgBox pour confirmer:
http://www.cjoint.com/c/EIrm0u41SUQ
http://www.cjoint.com/c/EIrm0u41SUQ
Merci bien Le Pivert
Ça fonctionne mieux mais pas encore top.
J'ai compris que tu lançais l'UF2 par appel du bouton Suivant dans l'UF1, ça c'est malin, je n' y avais pas pensé.
Par contre, le bouton Suivant de l'UF2 abandonne la procédure, donc tu rencontres le même problème que moi.
@ plus
Ça fonctionne mieux mais pas encore top.
J'ai compris que tu lançais l'UF2 par appel du bouton Suivant dans l'UF1, ça c'est malin, je n' y avais pas pensé.
Par contre, le bouton Suivant de l'UF2 abandonne la procédure, donc tu rencontres le même problème que moi.
@ plus
Par contre, le bouton Suivant de l'UF2 abandonne la procédure, donc tu rencontres le même problème que moi.
le problème est que je ne sais pas ce que tu veux faire avec ce bouton suivant dans l'UserForm2.
Où veux-tu aller?
le problème est que je ne sais pas ce que tu veux faire avec ce bouton suivant dans l'UserForm2.
Où veux-tu aller?
Je reviens là-dessus malgré le délai pour comprendre.
Je résume déjà l'objectif : dans ma macro principale "Import", il y a différentes étapes et quelques UF à ouvrir dans cet ordre :
Dans chaque UF, je cherche comment utiliser le UserForm_QueryClose pour lancer une macro "Reaffiche" en abandonnant la macro "Import" (par fermeture à la croix rouge).
Dans ta proposition, tu mets les Call dans chaque UF, ce qui me pose problème.
Comment enchaîner les étapes ? Dans l'exemple ci-dessous, le bouton Suivant de l'UF1 abandonne l'opération :
https://www.cjoint.com/c/EIsld1LReh2
Ça doit être assez basique mais ça me dépasse.
D'avance merci pour le suivi :)
Je résume déjà l'objectif : dans ma macro principale "Import", il y a différentes étapes et quelques UF à ouvrir dans cet ordre :
Sub Import()
Call Etape1
UserForm1.Show
Call Etape2
UserForm2.Show
End sub
Dans chaque UF, je cherche comment utiliser le UserForm_QueryClose pour lancer une macro "Reaffiche" en abandonnant la macro "Import" (par fermeture à la croix rouge).
Dans ta proposition, tu mets les Call dans chaque UF, ce qui me pose problème.
Comment enchaîner les étapes ? Dans l'exemple ci-dessous, le bouton Suivant de l'UF1 abandonne l'opération :
https://www.cjoint.com/c/EIsld1LReh2
Ça doit être assez basique mais ça me dépasse.
D'avance merci pour le suivi :)
Dans l'UserForm1:
Dans l'UserForm2:
Private Sub CommandButton1_Click() UserForm2.Show 'à remettre en macro Import si possible Unload UserForm1 End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) MsgBox "Opération abandonnée", vbInformation, "" Call Reaffiche End End Sub
Dans l'UserForm2:
Private Sub CommandButton1_Click() Unload UserForm2 End Sub Private Sub UserForm_Initialize() Etape2 End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) MsgBox "Opération abandonnée", vbInformation, "" Call Reaffiche End End Sub
Aaaaaaah ... ça y est enfin après quelques palabres et ton aide.
Dans le module principal "Import" j'ai mis le début :
Dans l'UF1 j'ai mis :
Dans le dernier UF j'ai mis :
Et tout réagit comme souhaité.
Pas facile la subtile différence entre UF.Hide et Unload UF !
Je ferme pour de bon.
Merci bien Le Pivert !
Dans le module principal "Import" j'ai mis le début :
Sub Import()
UFSelect1.Show
End Sub
Dans l'UF1 j'ai mis :
Private Sub CommandButton1_Click()
Call Macro1
UserForm1.Hide
UserForm2.Show
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then MsgBox "Opération abandonnée", vbInformation, ""
Call Reaffiche
End
End Sub
Dans l'UF2 j'ai mis :
Private Sub CommandButton1_Click()
Call Macro2
Userform2.Hide
Userform3.Show
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then MsgBox "Opération abandonnée", vbInformation, ""
Call Reaffiche
End
End Sub
Dans le dernier UF j'ai mis :
Private Sub CommandButton1_Click()
Unload Useform3
End Sub
Private Sub UserForm_Click()
End Sub
Et tout réagit comme souhaité.
Pas facile la subtile différence entre UF.Hide et Unload UF !
Je ferme pour de bon.
Merci bien Le Pivert !
https://silkyroad.developpez.com/VBA/UserForm/
@+