Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Fermer classeur avec plusieurs conditions

pat66

XLDnaute Impliqué
Bonsoir le forum,

Quelqu'un aurait il la gentillesse de m'aider à rédiger la macro qui permet de fermer ou pas un classeur en ayant vérifié avant 1 condition :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ret As Integer
ret = MsgBox("Vous souhaitez quitter ce classeur ?" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "L'application sera réinitialisée ......", vbYesNo + vbInformation, "diplomate")
If ret = vbNo Then
Cancel = True sauf si B10 est vide alors on ferme quand même
If ("B10") = ""
ThisWorkbook.Saved = True
Else
ThisWorkbook.Saved = True
end sub

j''espère être clair, un grand merci
 

Lolote83

XLDnaute Barbatruc
Bonjour @pat66,
Moi j'écrirais comme ceci sans certitude.
VB:
If ret = vbNo Then
If range("B10") = ""
    Cancel=true
    ThisWorkbook.Saved = True
Else
    Cancel=false
    ThisWorkbook.Saved = True
endif
endif
end sub
J'ai écrit directement ici du coup sans tester
@+ Lolote83
 

pat66

XLDnaute Impliqué
Bonjour Lolote83,

j'ai testé votre proposition mais cela ne fonctionne pas, elle me demande en boucle si je veux quitter sans fermer le classeur si B10 est vide

cdt
 
Dernière édition:

pat66

XLDnaute Impliqué
Bonsoir,

je reformule ma requête au cas où

est il possible d'utiliser Private Sub Workbook_BeforeClose(Cancel As Boolean)
pour fermer ou pas un classeur avec une condition à respecter :

SI non
cancel true sauf si range("B10") = "" alors on ferme quand même ThisWorkbook.Saved = True

SI oui, fermer sans enregistrer
ThisWorkbook.Saved = True

merci beaucoup
 

Discussions similaires

Réponses
2
Affichages
280
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…