fermer excel

f69815

XLDnaute Occasionnel
bonsoir le forum,

comment obliger un utilisateur à quitter un classeur en cliquant sur un bouton, à la place de fichier /fermer, alt F4, la croix etc, etc.....

merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Une idée peut-être

Tu crées un booleen du genre

public fermerExcel as boolean

et dans

Private Sub Workbook_BeforeClose(Cancel As Boolean)

if fermerexcel=false then cancel =true

End Sub

et sur le clic de ton bouton

fermerexcel=true

Voilà peut-être une idée

Bonc ourage
 

f69815

XLDnaute Occasionnel
re bonsoir pascal76


Public fermerExcel As Boolean


Private Sub Workbook_BeforeClose(Cancel As Boolean)

If fermerExcel = False Then Cancel = True

End Sub

lié à un bouton :

Sub fermer()
fermerExcel = True
End Sub

rien ne se passe quanq je clique sur le bouton.

personnellement je voyais quelque chose de plus compliqué du style:

supprimer les menu, la croix en haut à gauche et les fameux alt F4 et ctrl F4, mais comment faire

bonne nuit je vais rejoindre morphée et mon ventilateur.
 

G.David

XLDnaute Impliqué
Salut
Pourquoi veut tu obliger à une fermeture par bouton ? Si tu as des actions à faire avant de fermer le classeur il est possible de les mettre dans thisWorkbok before close
ce truc n'est utile que pour les userform
Cordialement
G.David
 

f69815

XLDnaute Occasionnel
bonjour,
pour répondre à G.David :
c'est tout simple pour sauvegarder, effectivement j'ai fait un essai, assez tard sans regarder le forum ni ma messagerie(fil) et j'ai employé dans befor_close : ActiveWorkbook.Save.

merci
 

JJM

XLDnaute Occasionnel
Bonjour f69815, le Forum,

Pour quitter une application Excel en obligeant l'utilisateur à cliquer sur un bouton pour sortir et en interdisant tout autre procédé, voici le code à insérer, en 4 points, avec un bouton nommé 'btnQuitter', sur une feuille :
Code:
1. Module, Déclarations :
Public Sortie As Boolean

2. Private Sub Workbook_BeforeClose(Cancel As Boolean)
	...
	If Sortie = False Then
        		MsgBox 'Cliquez sur [Quitter] pour fermer'
        		Cancel = True                                      'Annule la sortie de l'application
    	End If
End Sub


3. Private Sub Workbook_Open()
	Sortie = False
	...
End Sub

4. Private Sub btnQuitter_Click()
	EnableCancelKey = xlDisabled
    	Application.ScreenUpdating = False
	
	'Ajout ici code pour gestion enregistrement ou non

	Sortie = True           'Autorise sortie du classeur
	Application.Quit      'Quitte Excel
End Sub
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Tri et Import
Réponses
4
Affichages
184

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 564
dernier inscrit
Paul 1