Fermeture automatique d'excel - userform en double emploi

yannick63430

XLDnaute Junior
Bonjour à toutes et à tous,

je voudrais créer un fichier excel où lorsque l'on veut fermer ce dernier une boîte de dialogue à choix multiple apparaît en proposant 4 choix :
- simple consultation (1)
- travaux en cours (2)
- travaux à réviser (3)
- travaux terminés (4)

En fonction du choix, une ou plusieurs macros s'exécutent :
- (1) : fermeture sans sauvegarde
- (2) : impression via un userform
- (3) : ...
- (4) : ...

Pour cela, dans le thisworkbook, j'ai insérer la macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm2.Show
End Sub

Au niveau de la boite de dialogue, j'ai réalisé le code suivant :
Private Sub UserForm_Activate()
A1.Value = False
A2.Value = False
A3.Value = False
A4.Value = False
End Sub

Private Sub commandbutton1_click()

Dim réponse As Long
Application.ScreenUpdating = False

If A1.Value = True Then
ActiveWorkbook.Close SaveChanges:=False
End If

If A2.Value = True Then
Réalisation_Synthèse_Methode
Réalisation_CP_N_Synthèse
ActiveWorkbook.Close SaveChanges:=True
End If

If A3 = True Then
Réalisation_Synthèse_Methode
Réalisation_CP_N_Synthèse
Reponse = MsgBox("ATTENTION " & Environ("username") & " Veuillez Imprimer SEULEMENT l'onglet PS", vbCritical + vbYesNo, "Que devez-vous faire!")
Sheets("E - Conclusion").Select
End If

If A4 = True Then
Réalisation_Synthèse_Methode
Réalisation_CP_N_Synthèse
sautdepage
Reponse = MsgBox("ATTENTION " & Environ("username") & " Veuillez Imprimer les notes de travail", vbCritical + vbYesNo, "Que devez-vous faire!")
Sheets("E - Conclusion").Select
End If

UserForm2.Hide
Application.ScreenUpdating = True
End Sub

MON PROBLEME :
en sélectionnant le premier choix, une erreur apparaît :
Erreur d’exécution 400
Feuille déjà affichée, affichage modale impossible

Je pense que en demandant de fermer mon fichier dans le choix 1, Excel veux relancer ma boîte de dialogue via Private Sub Workbook_BeforeClose(Cancel As Boolean), d'où redondance!!
Je ne sais donc pas comment faire pour pouvoir fermer excel sans relancer ma boîte de dialogue pour le choix n°1 et la même chose pour les trois autres choix.

En espérant avoir été clair, merci d'avance

Cordialement
 

yannick63430

XLDnaute Junior
Re : Fermeture automatique d'excel - userform en double emploi

Bonjour à tous,

ok je comprends, donc voici une ébauche du fichier.

Merci.

Cordialement
 

Pièces jointes

  • test excel.xls
    935 KB · Affichages: 80
  • test excel.xls
    935 KB · Affichages: 88
  • test excel.xls
    935 KB · Affichages: 85
Dernière édition:

Discussions similaires

Réponses
5
Affichages
365

Statistiques des forums

Discussions
311 709
Messages
2 081 779
Membres
101 816
dernier inscrit
Jfrcs