Bonsoir,
comme beaucoup et sachant que c'est une solution contournable, je cherche à bloquer le copier coller enfin tout ce qui permet de prendre des données sur un classeur ouvert et j'ai trouvé une macro assez lourde qui le fait et pour de bon car aprés, même en fermant le classeur ces fonctions restent inhiber dans excel alors que je pensais que ça ne s'appliquait qu'au classeur actif.
Pour rétablir tout ça il faut taper la même macro et remplacer False par True et tout rentre dans l'ordre.
Malgré tout je me dit que si je fais ça à mon boulot y pas interêt à ce que j'arrive plus à rétablir, d'ou ma question 1 : Ca craind ou pas?
2eme question, puisque ces fonctions sont vraiment totalement inhibées alors comment est-il possible que le copier coller que j'avais etablit via une macro pour déplacer des données lui fonctionne trés bien, ne devrait-il pas y avoir un "bug"??? je voudrai comprendre.
Voila la fameuse:
Sub InterdireCopierCouper()
On Error Resume Next
With Application
'disables shortcut keys
.OnKey "^c", ""
.OnKey "^v", ""
.OnKey "^x", ""
'Disables Copy
.CommandBars("Edit").FindControl(ID:=19).Enabled = False
.CommandBars("Edit").FindControl(ID:=848).Enabled = False
.CommandBars("Cell").FindControl(ID:=19).Enabled = False
.CommandBars("Column").FindControl(ID:=19).Enabled = False
.CommandBars("Row").FindControl(ID:=19).Enabled = False
.CommandBars("Button").FindControl(ID:=19).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=19).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=19).Enabled = False
.CommandBars("Standard").FindControl(ID:=19).Enabled = False
.CommandBars("Button").FindControl(ID:=848).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=848).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=848).Enabled = False
.CommandBars("Standard").FindControl(ID:=848).Enabled = False
.CommandBars("Ply").FindControl(ID:=848).Enabled = False
'Disables Cut
.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
'Disable Paste
.CommandBars("Edit").FindControl(ID:=22).Enabled = False
.CommandBars("Cell").FindControl(ID:=22).Enabled = False
.CommandBars("Column").FindControl(ID:=22).Enabled = False
.CommandBars("Row").FindControl(ID:=22).Enabled = False
.CommandBars("Button").FindControl(ID:=22).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=22).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=22).Enabled = False
.CommandBars("Standard").FindControl(ID:=22).Enabled = False
'Disable PasteSpecial
.CommandBars("Edit").FindControl(ID:=755).Enabled = False
.CommandBars("Cell").FindControl(ID:=755).Enabled = False
.CommandBars("Column").FindControl(ID:=755).Enabled = False
.CommandBars("Row").FindControl(ID:=755).Enabled = False
.CommandBars("Button").FindControl(ID:=755).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=755).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=755).Enabled = False
.CommandBars("Standard").FindControl(ID:=755).Enabled = False
End With
End Sub
Ca décoife un peu non par rapport au autres macro que j'avais trouvées.
Merci d'avance
comme beaucoup et sachant que c'est une solution contournable, je cherche à bloquer le copier coller enfin tout ce qui permet de prendre des données sur un classeur ouvert et j'ai trouvé une macro assez lourde qui le fait et pour de bon car aprés, même en fermant le classeur ces fonctions restent inhiber dans excel alors que je pensais que ça ne s'appliquait qu'au classeur actif.
Pour rétablir tout ça il faut taper la même macro et remplacer False par True et tout rentre dans l'ordre.
Malgré tout je me dit que si je fais ça à mon boulot y pas interêt à ce que j'arrive plus à rétablir, d'ou ma question 1 : Ca craind ou pas?
2eme question, puisque ces fonctions sont vraiment totalement inhibées alors comment est-il possible que le copier coller que j'avais etablit via une macro pour déplacer des données lui fonctionne trés bien, ne devrait-il pas y avoir un "bug"??? je voudrai comprendre.
Voila la fameuse:
Sub InterdireCopierCouper()
On Error Resume Next
With Application
'disables shortcut keys
.OnKey "^c", ""
.OnKey "^v", ""
.OnKey "^x", ""
'Disables Copy
.CommandBars("Edit").FindControl(ID:=19).Enabled = False
.CommandBars("Edit").FindControl(ID:=848).Enabled = False
.CommandBars("Cell").FindControl(ID:=19).Enabled = False
.CommandBars("Column").FindControl(ID:=19).Enabled = False
.CommandBars("Row").FindControl(ID:=19).Enabled = False
.CommandBars("Button").FindControl(ID:=19).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=19).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=19).Enabled = False
.CommandBars("Standard").FindControl(ID:=19).Enabled = False
.CommandBars("Button").FindControl(ID:=848).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=848).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=848).Enabled = False
.CommandBars("Standard").FindControl(ID:=848).Enabled = False
.CommandBars("Ply").FindControl(ID:=848).Enabled = False
'Disables Cut
.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
'Disable Paste
.CommandBars("Edit").FindControl(ID:=22).Enabled = False
.CommandBars("Cell").FindControl(ID:=22).Enabled = False
.CommandBars("Column").FindControl(ID:=22).Enabled = False
.CommandBars("Row").FindControl(ID:=22).Enabled = False
.CommandBars("Button").FindControl(ID:=22).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=22).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=22).Enabled = False
.CommandBars("Standard").FindControl(ID:=22).Enabled = False
'Disable PasteSpecial
.CommandBars("Edit").FindControl(ID:=755).Enabled = False
.CommandBars("Cell").FindControl(ID:=755).Enabled = False
.CommandBars("Column").FindControl(ID:=755).Enabled = False
.CommandBars("Row").FindControl(ID:=755).Enabled = False
.CommandBars("Button").FindControl(ID:=755).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:=755).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:=755).Enabled = False
.CommandBars("Standard").FindControl(ID:=755).Enabled = False
End With
End Sub
Ca décoife un peu non par rapport au autres macro que j'avais trouvées.
Merci d'avance