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
 

GPLIONEL

XLDnaute Occasionnel
Re : Comment interdire des copier-coller

Salut marmotte,

Tu sélectionnes tout ton tableau et tu vas dans "Format", "Cellule" et "Protection", tu dévérouilles toutes les cellules et tu fais "OK"
Tu sélectionnes les cellules que tu veux protéger, tu vas dans "Format", "Cellule" et "Portection" tu vérouilles et tu masques.
Ensuite, Tu vas dans "Outils" "Protection" "Protéger la feuille",
tu déactives "Sélectionner les cellules vérouillées"
Tu mets un mot de passe et tu cliques sur "OK"
 

marmotte18

XLDnaute Impliqué
Re : Comment interdire des copier-coller

Bonjour GPLIONEL,

Tes explications sont intéressantes mais elles ne semblent pas correspondre à ce que je souhaite faire.

Les cellules qui doivent être verrouillées et masquées le sont.
La feuille est protégée.

Le copier-coller se passe sur des cellules accessibles non verrouillées et masquées. Cela me pose un problème car cette opération me modifie ma mise en forme des cellules et cela, je ne le veux pas à cause de mise en forme conditionnelle qui disparaissent et qui sont très complexes.

C'est pourquoi je souhaite interdire toutes formes de copier-coller, couper-coller et tirage de formules dans les 4 directions.

Il faudrait requalifier le problème en disant :

Comment interdire toute mise en forme de cellules non verrouillées ? (y compris par copier-coller, couper-coller, ..., remplissage, couleur de police, bordures, trame, ..., mise en forme conditionnelle, ...)
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : Comment interdire des copier-coller

Bonjour
Dans l'éditeur VBA, sélectionne dans la partie gauche, dans la liste des Microsoft Excel Objets sous le nom de ton classeur, This Wookbook (double clic).
Côté droit déroule la liste affichant général et choisis Workbook
Cela crée la procédure Workbook_open vide
Tu y copies les 2 lignes que je t'ai données.
Ensuite tu déroule la liste à droite (où est affché open) et tu sélectionnes Before_close.
Dans cette nouvelle procédure, tu recopies les 2 lignes mais tu remplaces False par True.
 

marmotte18

XLDnaute Impliqué
Re : Comment interdire des copier-coller

Bonjour chris,

Merci pour tes précisions complémentaires.

Résultats positifs :

- Le tirage de formule dans les 4 directions n'est plus possible : ok

- Le glisser déplacer d'une cellule vers une autre n'est plus possible : ok

Résultats négatifs :

- Il est toujours possible de faire du copier-coller et du couper-coller. Cela, je ne le souhaite pas !
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : Comment interdire des copier-coller

Bonjour
Effectivement la commande
Application.CutCopyMode = False
est à mettre dans
Workbook_SheetSelectionChange
Workbook_SheetActivate
Workbook_Activate
et non dans dans le Workbook_Open
Pas de changement pour le reste.
Cela empêche le collage
- dès qu'on change de cellule
- dès qu'on change de feuille
- depuis un autre classeur
 

marmotte18

XLDnaute Impliqué
Re : Comment interdire des copier-coller

Bonjour chris,

Effectivement, ton code fonctionne fort bien et je t'en remercie vivement !

Code à mettre dans ThisWorkbook :

Code:
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)
'Interdit le collage
Application.CutCopyMode = False
End Sub
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Active le tirage des formules dans les 4 directions et
'la technique Glisser-déplacer pour les cellules.
Application.CellDragAndDrop = True
 
'Active la possibilité de collage
Application.CutCopyMode = True
End Sub
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : Comment interdire des copier-coller

Bonjour Marmotte

Tu hibernais (lol) !

N'oublie pas les procédures

Workbook_SheetActivate pour empêcher de copier de la feuille A vers la feuille B (si on ne change pas la cellule active de la feuille B, la procédure Workbook_SheetSelectionChange ne réagit pas)
Workbook_Activate pour empêcher de copier du classeur A vers une feuille de ton classeur à protéger (si on ne change pas la cellule active du classeur à protéger, la procédure Workbook_SheetSelectionChange ne réagit pas)
 

marmotte18

XLDnaute Impliqué
Re : Comment interdire des copier-coller

Bonjour chris,

Tes conseils sont vraiment précieux !

Merci pour tes indications qui permettent de verrouiller définitivement le copier-coller. Cela marche fort bien !

Dans Workbook, mettre :

Code:
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)
'Interdit le collage sur la même feuille que celle qui a servi à faire la copie
Application.CutCopyMode = False
End Sub
 
Private Sub Workbook_Activate()
'Interdit le collage suite à une copie venant d'un autre classeur
Application.CutCopyMode = False
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
 
'Active la possibilité de collage
Application.CutCopyMode = True
End Sub

Dans Worksheet, mettre :

Code:
Private Sub Worksheet_Activate()
'Interdit le collage suite à une copie venant d'une autre feuille du même classeur
Application.CutCopyMode = False
End Sub
 
Dernière édition:

Aloha

XLDnaute Accro
Re : Comment interdire des copier-coller

Deux ans plus tard...

Bonjour,

Mes besoins sont comparables à celui auquel vous avez élaboré une solution.

Seulement, moi je veux laisser la possibilité de copier des valeurs vers la droite et vers le bas ainsi que le copier-coller.

Ce que je veux interdire, c'est surtout des actions maladroites ayant comme conséquence le déplacement de cellules ou encore la libération de cellules fusionnées.

Une protection aussi ciblée est-elle possible?

Merci

Aloha
 

baba89

XLDnaute Nouveau
Re : Comment interdire des copier-coller

Bonjours,
Ne serait il pas plus "simple" d'interdire de copier plutot que de coller si c'est possible ?

J'ai essayer les codes qui marche trés bien sauf que je peux encore faire :
-Le tirage de formule dans les 4 directions n'est plus possible
- Le glisser déplacer d'une cellule vers une autre n'est plus possible

Pouvez-vous me dire ou je me suis trompé, voilà ce que j'ai mis

Private Sub Workbook_Activate()
Application.CutCopyMode = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CutCopyMode = True
Application.CellDragAndDrop = True
End Sub

Private Sub Workbook_Open()
Application.CutCopyMode = False
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub

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

Discussions similaires

Réponses
3
Affichages
254

Statistiques des forums

Discussions
312 330
Messages
2 087 338
Membres
103 524
dernier inscrit
Smile1813