Interdire la fonction COUPER COLLER dans une feuille

Bonjour le forum,

Comment puis je interdire la fonction COUPER / COLER (et pas copier) dans une feuille définie d'un classeur excel ?

Merci d'avance,

Vincent

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

Salut et merci pour ces codes !

Donc si j'ai bien compris je peux interdire le COUPER / COLLER de lignes uniquement par exemple avec ce code si je supprime les autres possibilités ?

Ceci peut être très utile!

Merci bien

Vincent

Excellent !!

Rechercher des sujets similaires à "interdire fonction couper coller feuille"