interdiction fermeture par les croix

  • Initiateur de la discussion DAM
  • Date de début
D

DAM

Guest
bonjour le forum
je veux interdire la fermeture par la croix du fichier ou par celle d'excel et passer un quelque chose du style application.quit.(car les personnes doivent enregistrer sous un nom bien defini)merci dam
 

p'tit lulu

XLDnaute Junior
Re : interdiction fermeture par les croix

Si quelqu'un a la solution, je cherche également a interdire la fermeture de mon fichier excel par fichier/fermer, par les croix et également le clic droit/fermer en barre des taches. Le seul moyen de fermer serait par un boutton de commande.
Merci, bon week end a tous !
 

p'tit lulu

XLDnaute Junior
Re : interdiction fermeture par les croix

bonjour,
ça se rapproche de ce que je cherche mais la possibilité de fermer par fichier/fermer ou clic droit/fermer est encore là. Le code précédent était le bon mais comment activer la fermeture par un bouton.....

bonne soirée !
 

ninbihan

XLDnaute Impliqué
Re : interdiction fermeture par les croix

re,

Avec in toggle button

A tester,

Bonne soirée,


Ninbihan
 

Pièces jointes

  • testfermeture.xls
    32.5 KB · Affichages: 103
  • testfermeture.xls
    32.5 KB · Affichages: 108
  • testfermeture.xls
    32.5 KB · Affichages: 100

PFRANCO

XLDnaute Junior
Re : interdiction fermeture par les croix

Slt NINBIHAN et Slt à tous les forumeurs,

Je viens d'essayer ton code pour empecher la fermeture d'excel par la croix et je voudrai annuler.

J'ai effacé le code mais rien n'y Fait.

Pex tu me conseillé??

Philippe.
 

babap1

XLDnaute Occasionnel
Re : interdiction fermeture par les croix

Bonsoir PFRANCO, p'tit lulu, DAM,

voila ce que j'ai pour désactiver l'action de la croix sur un UF.
Sans doute adaptable a un classeur, à tester.

Code:
Private Sub UserForm_QueryClose _
(Cancel As Integer, CloseMode As Integer)

' Prevents use of the Close button
If CloseMode = vbFormControlMenu Then
MsgBox "Clicking the Close button does not work."
Cancel = True
End If
End Sub

Bonne soirée, Bap
 

ninbihan

XLDnaute Impliqué
Re : interdiction fermeture par les croix

Bonsoir,

Sinon écris cela dans un module et lance la proc test3:
Code:
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
  

Sub test3()
Dim hwnd As Long
  hwnd = FindWindowA(vbNullString, Application.Caption)
  SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000
End Sub
 

PFRANCO

XLDnaute Junior
Re : interdiction fermeture par les croix

Merci ninbihan et babap1 ,

Problème résolu.

Cependant, j'aimerai savoir comment, en effet, comment empecher l'utilisation de la croix pour fermer excel mais seulement dans le classeur ou se trouve le code?

A tout à l'heure???
 

ninbihan

XLDnaute Impliqué
Re : interdiction fermeture par les croix

Re,

Insére ce code dans this workbook:
Code:
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_BeforeClose(Cancel As Boolean)
  Dim hwnd As Long
  hwnd = FindWindowA(vbNullString, Application.Caption)
  SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000

End Sub

Private Sub Workbook_Open()
  Dim hwnd As Long
  hwnd = FindWindowA(vbNullString, Application.Caption)
  SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF

ActiveWorkbook.Protect Structure:=False, Windows:=True

End Sub
 

PFRANCO

XLDnaute Junior
Re : interdiction fermeture par les croix

C'est super,

Le fait d'empecher de quitter par la croix est déjà génial et je sens que je vais abuser "en tout honneur" bien sûr.

Est il possible pour inciter l'utilisateur de coller un code derrière un bouton qui permette de sauvegarder et de fermer Excel?

Philippe.

PS.T'as mis combien de temps pour en arriver là??
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 919
Membres
104 307
dernier inscrit
Diet