Comment interdire des copier-coller

marmotte18

XLDnaute Impliqué
Bonjour,

Comment devrais-je procéder pour interdire des copier-coller, couper-coller ou tirage de formules (haut, bas, droite et gauche) ?

Merci pa ravance
 

escouger

XLDnaute Occasionnel
Re : Comment interdire des copier-coller

J'ai beaucoup appris de ce que je viens de lire, mais reste encore bloqué sur une difficulté.
Je voudrais interdire les copier coller et Drag & Drop mais avec une exception.

Si la zone copiée dans la feuille 1 se situe dans la colonne I je voudrais pouvoir le copier dans la feuille 2
dans la même colonne. Dans tous les autres cas copier coller et Drag & Drop doivent être impossible.
Voici ce que j'ai écrit :

Private Sub Workbook_Open()

'Interdit le tirage des formules dans les 4 directions et le glisser déplacer
Application.CellDragAndDrop = False

End Sub
____________________________________________________________________________________
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

' reperer la zone receptrice et vérifier qu'elle se situe en colonne 9

Dim Plage As String
Plage = Selection.Address
colonne = ActiveCell.Column
If colonne = 9 Then ' Colonne I
Application.CutCopyMode = True
'MsgBox ("Workbook_SheetSelectionChange TRUE")

Else
'Interdit le collage sur la même feuille que celle qui a servi à faire la copie
Application.CutCopyMode = False
End If

End Sub
______________________________________________
Private Sub Workbook_Activate()

Dim Plage As String
Plage = Selection.Address
colonne = ActiveCell.Column
If colonne = 9 Then
Application.CutCopyMode = True
'MsgBox ("Workbook_SheetActivate TRUE")

Else
'Interdit le collage sur la même feuille que celle qui a servi à faire la copie
Application.CutCopyMode = False
End If
End Sub
_________________________________________________________________
Private Sub Workbook_BeforeClose(Cancel As Boolean)

'Active le tirage des formules dans les 4 directions et
'la technique du glisser-déplacer pour les cellules.
Application.CellDragAndDrop = True
Application.CutCopyMode = True


End Sub

____________________________________________________________________
Feuille 1 :

Private Sub Worksheet_Activate()
Dim Plage As String
Plage = Selection.Address
colonne = ActiveCell.Column
If colonne = 9 Then
Application.CutCopyMode = True

Else
'Interdit le collage sur la même feuille que celle qui a servi à faire la copie
Application.CutCopyMode = False
End If

End Sub

_____________________________________________________

Feuille 2 :

Private Sub Worksheet_Activate()
Dim Plage As String
Plage = Selection.Address
colonne = ActiveCell.Column
If colonne = 9 Then
Application.CutCopyMode = True
'MsgBox ("WorkSheetActivate Bénévoles TRUE")

Else
'Interdit le collage sur la même feuille que celle qui a servi à faire la copie
Application.CutCopyMode = False
End If

End Sub

____________________________________________________________________________________

Pas de souci pour le COPIER
Lorsque je me positionnes sur feuille 2 en colonne I je ne peux pas faire le COLLER
(Je ne peux pas faire de coller nulle part d'ailleurs)

J'ai noté aussi qu'en faisant apparaître le presse papier OFFICE le Coller fonctionne....mais sans aucune restrictions...ce qui ne me convient bien sûr pas!

Merci d'avance de votre aide sur ce sujet
 

escouger

XLDnaute Occasionnel
Re : Comment interdire des copier-coller

Merci Marmotte, cela marche parfaitement bien.
Néanmoins j'ai souhaité introduire une exception à l'interdiction du Copier/coller en autorisant uniquement cette fonction lorsque la colonne copiée est la colonne I et que la colonne réceptrice (d'une autre feuille) est également I.
Pour ce faire j'ai ajouté dans le code quelques tests qui remettent le copier/coller en mode TRUE.
par exemple dans le Worksheet activate ou le Workbook_SheetSelectionChange:
Private Sub Worksheet_Activate()
Application.CutCopyMode = False
Dim Plage As String
Plage = Selection.Address
colonne = ActiveCell.Column
If colonne = 9 Then
Application.CutCopyMode = True
End If

End Sub

Résultat: la fonction coller reste désespérément inopérante.

Merci par avance de ton aide sur ce sujet.
 

Statistiques des forums

Discussions
312 860
Messages
2 092 961
Membres
105 571
dernier inscrit
MAT30190