Bonjour,
Supposons que tu veuilles interdire le Couper dans l'onglet "on_peut_pas"
Dans le code ThisWorkbook, tu mets ceci :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
RetablirCouper
End Sub
Private Sub Workbook_Deactivate()
RetablirCouper
End Sub
Private Sub Workbook_Open()
If ActiveSheet.Name = "on_peut_pas" Then InterdireCouper
End Sub
Dans le code de la feuille "on_peut_pas", tu mets ceci :
Private Sub Worksheet_Activate()
InterdireCouper
End Sub
Private Sub Worksheet_Deactivate()
RetablirCouper
End Sub
Et dans un module standard, tu mets ceci :
Sub InterdireCouper()
On Error Resume Next
With Application
'interdire le raccourci Ctrl + X
.OnKey "^x", ""
'interdire le couper
.CommandBars("Edit").FindControl(ID:=21).Enabled = False
.CommandBars("Cell").FindControl(ID:=21).Enabled = False
.CommandBars("Column").FindControl(ID:=21).Enabled = False
.CommandBars("Row").FindControl(ID:=21).Enabled = False
.CommandBars("Button").FindControl(ID:=21).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=21).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=21).Enabled = False
.CommandBars("Standard").FindControl(ID:=21).Enabled = False
End With
End Sub
Sub RetablirCouper()
On Error Resume Next
With Application
' rétablir le raccourci Ctrl + X
.OnKey "^x"
' Rétablir le couper
.CommandBars("Edit").FindControl(ID:=21).Enabled = True
.CommandBars("Cell").FindControl(ID:=21).Enabled = True
.CommandBars("Column").FindControl(ID:=21).Enabled = True
.CommandBars("Row").FindControl(ID:=21).Enabled = True
.CommandBars("Button").FindControl(ID:=21).Enabled = True
.CommandBars("Formula Bar").FindControl(ID:=21).Enabled = True
.CommandBars("Worksheet Menu Bar").FindControl(ID:=21).Enabled = True
.CommandBars("Standard").FindControl(ID:=21).Enabled = True
End With
End Sub
Regarde le fichier joint
Ps, pour ceux qui sont frileux, et ils ont raison, n'autorisez pas les macros à l'ouverture du fichier.
En cas de panne de courant lors de l'exploitation de ce fichier, vous n'avez qu'à dérouler le deuxième code "RetablirCouper"
Bonne journée