Bonjour

je voudrai interdire le "Ctrl X" pour éviter le déplacement des formules et se retrouver avec des cellules vides tout en autorisant le "Ctrl C" / "Ctrl V" pour copier

L'essai le plus concluant trouvé est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
mais cela me semble dangereux... et difficilement compréhensible...

Peut-on faire plus simple ?