Empêcher l'enregistrement d'un classeur
Attention, la solution proposée ne fonctionne que pour empêcher des utilisateurs bien intentionnés de faire des bêtises. Il suffit en effet de désactiver les macros pour enregistrer le classeur. C'est du reste la seule solution si tu veux y apporter des modifications.
Cette solution impose aussi que les macros soient activées à l'ouverture du classeur.
Voici 2 macros à mettre dans un module standard
Sub empecheEnr()
With Application.CommandBars("Standard")
.Controls("Enre&gistrer").Enabled = False
End With
With Application.CommandBars("Worksheet Menu Bar")
.Controls("Fichier").Enabled = False
End With
'desactive le raccourci clavier Ctrl+S,
'Application.OnKey "s^", ""
End Sub
Sub depecheEnr()
With Application.CommandBars("Standard")
.Controls("Enre&gistrer").Enabled = True
End With
With Application.CommandBars("Worksheet Menu Bar")
.Controls("Fichier").Enabled = True
End With
''rétabli le raccourci clavier Ctrl+S
'Application.OnKey "", "s^"
End Sub
et ces 3 macros à placer dans le thisworkbook
Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.DisplayAlerts = False depecheEnr ThisWorkbook.Saved = True ThisWorkbook.Close SaveChanges:=False End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ThisWorkbook.Saved = True End SubPrivate Sub Workbook_Open() empecheEnr End Sub
Voilà. Même l'icône "disquette" est grisée...
Auteur : Pierre F
Mots clefs associés à cette page : enregistrer, empêcher
