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

Empêcher le classeur d'être fermé tant que...

  • Initiateur de la discussion Initiateur de la discussion elisa27
  • 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 !

E

elisa27

Guest
Bonjour,

Est-il possible (peut-être dans workbook beforeclose) d'empêcher que le classeur soit fermé tant que l'utilisateur n'a pas terminé une tâche.

Merci d'avance pour votre aide
 
Re : Empêcher le classeur d'être fermé tant que...

Merci tototiti j'ai bien compris le principe mais par contre je ne vois pas ce que je fais passer de Cancel à True. Est ce que ce serait Workbook BeforeClose(True) ?
 
Re : Empêcher le classeur d'être fermé tant que...

Bonjour le fil, bonjour le forum,

Arf Tototiti est trop rapide... j'avais préparé un exemple, regarde :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Range("A1") = "" Then
    MsgBox "Vous devez remplir la cellule A1 !"
    Cancel = True
End If
End Sub
 
Re : Empêcher le classeur d'être fermé tant que...

Bonjour le fil, bonjour le forum,

Mort de rire Tototiti les exemples sont identiques...! Ne dit-on pas que les grands esprit se rencontrent ha ha ha...

Édition :

En plus je viens de tester et il y a un big bug dans notre proposition. Si on remplit la cellule et on ferme (sans sauver). Un message nous demande si on veut sauver. Si on répond "non" le classeur se ferme quand même mais quand on le rouvre la cellule est vide. Je ne pense pas que ce soit ce que veut Elisa. Donc il nous faut revoir notre copie...
 
Dernière édition:
Re : Empêcher le classeur d'être fermé tant que...

Re,

en effet, pas super nos 2 exemples 😉

je pense qu'un else dans le if qui sauve le classeur est indispensable

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Range("A1") = "" Then
    MsgBox "Vous devez remplir la cellule A1 !"
    Cancel = True
Else
Thisworkbook.save
End If
End Sub
 
- 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

  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
373
Réponses
4
Affichages
320
Réponses
3
Affichages
255
Réponses
10
Affichages
371
  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
498
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…