Empêcher fermeture par (la petite croix rouge)

Bonsoir a tous et a toute

je suis a la recherche d 'une solution vba pour bloquer le bouton de fermeture ( enregistrer . ou ne pas enregistrer . annuler ) la petite croix rouge , pour être obliger de fermer le classeur que par un bouton de sauvegarde esque cet possible ?

je joint une classeur pour exemple

je remercie par avance tout les renseignements qu'on pourrais me donner

Cordialement

Bonsoir

Au lieu de laisser le choix

utilises

ActiveWorkbook.Close savechanges:=True

C'est la même chose qu'ici ?

https://forum.excel-pratique.com/post133424.html#p133420

Bonsoir Banzail64

je te remercie de l’intérêt que tu porte a mon soucie .

Oui j'ai bien repris le lien que tu ma mis d'un post que j 'avais crée mes ce net pas la même chose que je recherche

je me suis peut être mal expliquer . Je voudrais vraiment bloquer la fermeture du classeur par la petite croix rouge pour ne pas avoir la boite de dialogue et pour être obliger de passer pour le bouton sauvegarde car si je ne fait pas les personnes qui vont utiliser ce classeur pourrais le modifier a la fermeture s'il enregistre .Donc s'il on enregistré il ne retrouverais pas le classeur vierge de tout info a la prochaine ouverture .

j’espère mettre mieux fait comprendre

tu croix que cet possible ?

Cordialement

Bonsoir

Je ne comprends pas trop

Tu veux afficher la boîte et obliger à sauvegarder ?

Dans tous les cas il y aura sauvegarde non ?

Sinon je ne sais pas faire pour empêcher la fermeture par la croix, car ce sont des boîtes de dialogue internes et pour y avoir accès je ne sais pas

Désolé

Edit

C'est empêcher de fermer le classeur par la croix rouge Excel

Si c'est ça je dois avoir un code qui fait ça (pas de moi le code)

Faut que je le cherche

re

Oui cet ça ce que je recherche si tu peut me le trouver ce serais sympa

Edit

C'est empêcher de fermer le classeur par la croix rouge Excel

Si c'est ça je dois avoir un code qui fait ça (pas de moi le code)

Bonne soirée

Cordialement

Bonjour

Voilà le code

Option Explicit
'Dans le module ThisWorkbook de l'application :
'(Laurent Longre)
Private Declare Function FindWindowA Lib "user32" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLongA Lib "user32" _
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "user32" _
  (ByVal hwnd As Long, ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long

Private Sub Workbook_Open()
Dim hwnd As Long

  '
  ' Rendre inactif les 3 boutons de la barre excel (Laurent Longre)
  '
  hwnd = FindWindowA(vbNullString, Application.Caption)
  SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'
' Remets en service les 3 boutons de la barre Excel
'
  Dim hwnd As Long
  hwnd = FindWindowA(vbNullString, Application.Caption)
  SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000
End Sub

A tester

re

Je te remercie je vais essayer ca

Cordialement

-- 02 Juin 2011, 02:10 --

En fait j'ai essayer tout ce que ma donner mes rien n'y a fait mes j'ai trouver mon bonheur avec cette VBA

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Application.Quit
End Sub

Cette VBA ferme excel sans la boite de dialogue et sans enregistré

Ca peut servir

Bonne nuit

Cordialement

Bonjour,

J'ai utilisé ce qui suit et ça marche très bien:

Dans le Private Module de ThisWorkBook :

Private Sub Workbook_Open()
CancelSortie = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = CancelSortie
End Sub

Dans un Module Standard :

Public CancelSortie As Boolean

Sub LaSortie()
CancelSortie = False
ThisWorkbook.Close True
End Sub

On notera ici l'usage d'une variable "CancelSortie" Publique de type Boolean et, bien sûr, on prendra soin de mettre un bouton de sortie qui lancera cette macro "LaSortie". (dans l'exemple on sauve le classeur, sinon mettre à false)

Bonjour bayard et bien sur a tous et a toute

je viens d’essayer ta VBA et faut dire , cet impeccable cet ce que je chercher je te remercie énormément

je vais appliqué ca au autre classeur que j'ai

Merci encore

Bon aprés-midi

Cordialement

un petit plus au code PARFAIT de Bayard

Private Sub Workbook_Open()

CancelSortie = True

MsgBox ("vous ne pourrez fermer ce classeur que par les boutons <<SORTIE>>")

End Sub

Rechercher des sujets similaires à "empecher fermeture petite croix rouge"