OVH Cloud OVH Cloud

problème de copier coller

2 réponses
Avatar
aurel
Bonjour

je sais pas si c'est possible mais j'aimerai interdire de
faire des copier coller (ou des couper coller) sur un de
mes fichiers excel(et pas sur les autres). Si quelqu'un
sait faire je lui serai reconnaissant.

Merci

2 réponses

Avatar
ChrisV
Bonjour Aurel,

Dans la feuille de code de ThisWorkbook du fichier concerné...

Private Sub Workbook_Activate()
On Error Resume Next
With Application
.OnKey "^c", ""
.OnKey "^v", ""
.OnKey "^x", ""
.OnKey "^{INSERT}", ""
.OnKey "+{INSERT}", ""
.OnKey "+{DEL}", ""
.CommandBars("Edit").FindControl(ID:).Enabled = False
.CommandBars("Edit").FindControl(ID:„8).Enabled = False
.CommandBars("Cell").FindControl(ID:).Enabled = False
.CommandBars("Column").FindControl(ID:).Enabled = False
.CommandBars("Row").FindControl(ID:).Enabled = False
.CommandBars("Button").FindControl(ID:).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:).Enabled = False
.CommandBars("Standard").FindControl(ID:).Enabled = False
.CommandBars("Button").FindControl(ID:„8).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:„8).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:„8).Enabled = False
.CommandBars("Standard").FindControl(ID:„8).Enabled = False
.CommandBars("Ply").FindControl(ID:„8).Enabled = False
.CommandBars("Edit").FindControl(ID:!).Enabled = False
.CommandBars("Cell").FindControl(ID:!).Enabled = False
.CommandBars("Column").FindControl(ID:!).Enabled = False
.CommandBars("Row").FindControl(ID:!).Enabled = False
.CommandBars("Button").FindControl(ID:!).Enabled = False
.CommandBars("Formula Bar").FindControl(ID:!).Enabled = False
.CommandBars("Worksheet Menu Bar").FindControl(ID:!).Enabled = False
.CommandBars("Standard").FindControl(ID:!).Enabled = False
End With
End Sub

Private Sub Workbook_Deactivate()
On Error Resume Next
With Application
.OnKey "^c"
.OnKey "^v"
.OnKey "^x"
.OnKey "^{INSERT}"
.OnKey "+{INSERT}"
.OnKey "+{DEL}"
.CommandBars("Edit").FindControl(ID:).Enabled = True
.CommandBars("Edit").FindControl(ID:„8).Enabled = True
.CommandBars("Cell").FindControl(ID:).Enabled = True
.CommandBars("Column").FindControl(ID:).Enabled = True
.CommandBars("Row").FindControl(ID:).Enabled = True
.CommandBars("Button").FindControl(ID:).Enabled = True
.CommandBars("Formula Bar").FindControl(ID:).Enabled = True
.CommandBars("Worksheet Menu Bar").FindControl(ID:).Enabled = True
.CommandBars("Standard").FindControl(ID:).Enabled = True
.CommandBars("Button").FindControl(ID:„8).Enabled = True
.CommandBars("Formula Bar").FindControl(ID:„8).Enabled = True
.CommandBars("Worksheet Menu Bar").FindControl(ID:„8).Enabled = True
.CommandBars("Standard").FindControl(ID:„8).Enabled = True
.CommandBars("Ply").FindControl(ID:„8).Enabled = True
.CommandBars("Edit").FindControl(ID:!).Enabled = True
.CommandBars("Cell").FindControl(ID:!).Enabled = True
.CommandBars("Column").FindControl(ID:!).Enabled = True
.CommandBars("Row").FindControl(ID:!).Enabled = True
.CommandBars("Button").FindControl(ID:!).Enabled = True
.CommandBars("Formula Bar").FindControl(ID:!).Enabled = True
.CommandBars("Worksheet Menu Bar").FindControl(ID:!).Enabled = True
.CommandBars("Standard").FindControl(ID:!).Enabled = True
End With
End Sub


ChrisV


"aurel" a écrit dans le message de
news: be7f01c3ecc4$ecf96ba0$
Bonjour

je sais pas si c'est possible mais j'aimerai interdire de
faire des copier coller (ou des couper coller) sur un de
mes fichiers excel(et pas sur les autres). Si quelqu'un
sait faire je lui serai reconnaissant.

Merci


Avatar
Frédéric Sigonneau
Bonsoir,

Une approche possible :

- pour empêcher de copier(couper)/coller dans un classeur, dans une feuille de
calcul ou entre feuilles de calcul (code à coller dans le module ThisWorkbook de
ce classeur)

Private Sub Workbook_SheetSelectionChange _
(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

- pour empêcher de copier vers un autre classeur et/ou de coller dans un autre
classeur (code toujours à coller dans le module ThisWorkbook du classeur à
'protéger')

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CutCopyMode = False
End Sub

Note : ça n'interdit pas de coller dans le classeur des données en provenance
d'une source extérieure à Excel (Notepad ou Word, par exemple).

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour

je sais pas si c'est possible mais j'aimerai interdire de
faire des copier coller (ou des couper coller) sur un de
mes fichiers excel(et pas sur les autres). Si quelqu'un
sait faire je lui serai reconnaissant.

Merci