Fermer le usf et classeur en cas de classeur est caché

anass1

XLDnaute Junior
Bonjour à tous,
Je veux éditer ce code pour fermer le usf quand deux classeurs ou plus sont ouverts
Parce que si un autre classeur est ouvert et je ferme le usf à partir du bouton fermer, il le cachera et ne le fermera pas.
Dans ce cas, je souhaite fermer le usf et son classeur et laisser les autres classeurs ouverts.
Merci
VB:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim Rep%
If Application.Workbooks.Count = 1 Then
  If Application.Visible = False Then
    Rep% = MsgBox(prompt:="La fermeture du UserForm implique que l'application Excel soit fermée." & vbLf & _
    "Voulez-vous réellement fermer l'application Excel ?", Buttons:=vbOKCancel)
    If Rep% = vbOK Then
      If Not AppClass Is Nothing Then Set AppClass = Nothing
      ThisWorkbook.Save
      Application.Quit
    Else
      Cancel = True
    End If
  End If
Else
  UserFormVisible = False
End If
End Sub
 

Pièces jointes

  • Exemple.xlsm
    21.7 KB · Affichages: 8

job75

XLDnaute Barbatruc
bonjour anass1,

Vous n'avez pas eu de réponse parce que vous n'êtes pas clair.

Si l'on prend ceci au pied de la lettre :
Je veux éditer ce code pour fermer le usf quand deux classeurs ou plus sont ouverts
Dans ce cas, je souhaite fermer le usf et son classeur et laisser les autres classeurs ouverts.
il suffit de ce code évident :
Code:
Private Sub AppXL_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
Application.Visible = True
If Workbooks.Count > 1 Then ThisWorkbook.Close True 'enregistre et ferme le classeur
End Sub
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 069
Messages
2 085 042
Membres
102 765
dernier inscrit
richdi