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

Workbook_BeforeClose problème

  • Initiateur de la discussion Initiateur de la discussion nadia11565
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nadia11565

Guest
Bonjour

Ma macro valide la saisie des champs obligatoires sur l'action sauvegarder. Par contre si je clique sur 'X' pour fermer le fichier, alors j'appel ma validation qui regarde si des cellules obligatoires ne sont pas remplis si oui alors j'affiche un message, sauf que lorsque je clique sur OK sur ce message d'avertissement tout de suite il y a un le message d'Excel qui me demande si je veux sauvegarder mes dernière modifications et si je clique OUI alors il m'affiche le message d'avertissement et ça tourne en rond.. Je ne sais pas comment gérer cela pour que le message de sauvegarde ne s'affiche pas.
Voici code qui est appelé dans ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim WorksheetAsError As Boolean
'Reset
WorksheetAsError = False

'Invoke validation
WorksheetAsError = ValidationChampObligatoire()

If WorksheetAsError = True Then
Cancel = True
'Application.DisplayAlerts = False ' Ne fonctionne pas
Else
Cancel = False
End If
End Sub


Merci de votre aide
Nadia
 
Re : Workbook_BeforeClose problème

Re Nadia,

Soit tu n'as pas essayé, soit il y a grosse incompréhension parce que chez moi lorsque je ne laisse que la macro ci-dessous, toutes les conditions sont remplies.

Code:
Option Explicit
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not ThisWorkbook.Saved Then Cancel = ValidationAvantSauvegarder()
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Not ThisWorkbook.Saved Then Cancel = ValidationAvantSauvegarder()
End Sub

La sauvegarde n'est réalisée que si tout est validé.

A+
 
Re : Workbook_BeforeClose problème

Suite essai positif,

La réponse est dans le problème:

utilisez Before_close Et Before_Save avec le même code:

(en reprenant Hasco 😉)

cancel=ValidationAvantSauvegarder

dans les 2 évènements

cdt

smotty
 
Re : Workbook_BeforeClose problème

Re,

@Smotty🙂 Merci de confirmer parce que je me demandais si je ne devenais pas un peu (ou beaucoup) plus fou que d'habitude.🙄

A++
 
Re : Workbook_BeforeClose problème


Est-ce que vous pouvez me confirmer quel version d'Excel vous utiliser... parce que moi j'essaie de faire fonctionner ce que vous m'envoyer et ça ne fonctionne toujours pas.. c'est moi qui est en train de devenir folle😕


Je clique sur X il me dit que le Champ emplacement est obligatoire
Je clique OK il me demande si je veux sauvegarder,
je clique OUI
il me dit que le Champ emplacement est obligatoire
je clIque Ok il me demande si je veux sauvegarder
je clique OUi et ainsi de suite ça tourne en rond.....

Merci encore de votre aide...
 
Re : Workbook_BeforeClose problème

Bonsoir,

après de multiples testes ça fonctionne parfaitement avec le code qu'on vous a donné.

La version d'Excel n'a rien à voir, perso je suis sur 2007.

Voir le fichier joint et comparez avec le votre. N'y aurait'il pas un évènement géré sur Thisworkbook ou autre feuille qui créerait le problème?

cdt

smotty
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…