Bonjour le forum,
Je viens de finir un petit outil Excel qui possède une page d’accueil qui s'appelle "Country" qui permet de sélectionner un pays dans une liste puis lorsque le pays est choisi, la feuille se masque pour faire apparaître d'autres feuilles à remplir en fonction du pays sélectionné ("ASCE 7-10","SANS",...). Jusque là tout va bien. Ensuite, je souhaite que lorsque l'utilisateur décide de fermer le classeur excel, une série d'actions s'exécutent :
1) Une msgbox apparaît lorsqu'il clique sur la croix pour fermer le classeur : "Etes vous sure de vouloir fermer ce classeur?" Si non on annule la fermeture et rien ne change. Si oui alors,
2) Fermer toutes les feuilles activent et faire apparaître uniquement la page d'accueil "Country"
3) Fermer le classeur sans enregistrer
Avec ma macro je n'ai pas tout à fait cela mais plutôt :
1) La msgbox apparaît mais lorsque je clique sur "non" le classeur se ferme quand même sans pour autant exécuter la macro "oui". Si je clique sur oui,
2) la feuille "Country" apparaît et les autres feuilles sont bien masquées mais j'ai à nouveau la msgbox qui me redemande si je suis bien sure de vouloir fermer le classeur
3) Aucun soucis le classeur se ferme sans enregistrer
Pour résumer, j'ai des soucis avec le bouton "non" de la msgbox qui ne fait pas l'action souhaitée et j'ai un souci avec le fait qu'il me demande deux fois de suite si je veux fermer le classeur.
voici le code qui se situe dans ThisWorkbook
J'espère être assez claire. Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Private Sub Workbook_BeforeClose(Cancel As Boolean) If MsgBox("Are you sure you want to close this document?", 36, "WARNING") = vbNo Then Cancel = True Else Application.ScreenUpdating = False ThisWorkbook.Unprotect Password:="ExoPass" Sheets("ASCE 7-10").Unprotect Password:="ExoPass" Sheets("SANS").Unprotect Password:="ExoPass" Sheets("Country").Visible = True Sheets("ASCE 7-10").Visible = False Sheets("SANS").Visible = False Sheets("SANS Wind&Seismic").Visible = False Sheets("SANS Information").Visible = False Sheets("ASCE Information").Visible = False ThisWorkbook.Protect Password:="ExoPass" Application.ScreenUpdating = True ActiveWorkbook.Saved = True ActiveWorkbook.Close savechanges:=False End If End Sub
Julie
Partager