Désactiver copier coller par clavier dans une feuille excel

chorifi

XLDnaute Nouveau
Bonjour,

Je prépare un fichier excel qui sera utilisé par d'autres utilisateurs. j'ai des cellules sous différents formats conditionnels et je ne veux pas qu'on puisse les copier coller afin d'éviter toute modification de leur format.
Pour ce faire, jai réussi à trouver un macro qui n'autorise que "coller valeur" en clic droit.Mais si l'utilisateur utilise ctrl+C et ctrl+V, les cellules seront collées comme si on aurait choisi "coller tout".

ya t-il un moyen pour rajouter une commande dans le macro utilisé pour désactiver également le "ctrl+C" ou "ctrl+V?

Je vous remercie d'avance.

le macro que j'utilise pour autoriser uniquement le "coller valeur" est le suivant:

Sub coller_off()
With CommandBars(1).Controls("Edition")
.Controls("Coller").Enabled = False
.Controls("Collage spécial...").Enabled = False
End With
With CommandBars("Cell")
.Controls("Coller").Enabled = False
.Controls("Collage spécial...").Enabled = False
On Error Resume Next
With .Controls.Add(msoControlButton, , , 3, True)
.Caption = "Coller la valeur"
.OnAction = "Col_valeur"
End With
End With
End Sub

Sub coller_on()
With CommandBars(1).Controls("Edition")
.Controls("Coller").Enabled = True
.Controls("Collage spécial...").Enabled = True
End With
With CommandBars("Cell")
.Controls("Coller").Enabled = True
.Controls("Collage spécial...").Enabled = True
On Error Resume Next
.Controls("Coller la valeur").Delete
End With
End Sub

Sub Col_valeur()
On Error Resume Next
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
 

bérylion

XLDnaute Occasionnel
Re : Désactiver copier coller par clavier dans une feuille excel

Bonjour,

Je prépare un fichier excel qui sera utilisé par d'autres utilisateurs. j'ai des cellules sous différents formats conditionnels et je ne veux pas qu'on puisse les copier coller afin d'éviter toute modification de leur format.
Pour ce faire, jai réussi à trouver un macro qui n'autorise que "coller valeur" en clic droit.Mais si l'utilisateur utilise ctrl+C et ctrl+V, les cellules seront collées comme si on aurait choisi "coller tout".

ya t-il un moyen pour rajouter une commande dans le macro utilisé pour désactiver également le "ctrl+C" ou "ctrl+V?

Je vous remercie d'avance.

le macro que j'utilise pour autoriser uniquement le "coller valeur" est le suivant:

Sub coller_off()
With CommandBars(1).Controls("Edition")
.Controls("Coller").Enabled = False
.Controls("Collage spécial...").Enabled = False
End With
With CommandBars("Cell")
.Controls("Coller").Enabled = False
.Controls("Collage spécial...").Enabled = False
On Error Resume Next
With .Controls.Add(msoControlButton, , , 3, True)
.Caption = "Coller la valeur"
.OnAction = "Col_valeur"
End With
End With
End Sub

Sub coller_on()
With CommandBars(1).Controls("Edition")
.Controls("Coller").Enabled = True
.Controls("Collage spécial...").Enabled = True
End With
With CommandBars("Cell")
.Controls("Coller").Enabled = True
.Controls("Collage spécial...").Enabled = True
On Error Resume Next
.Controls("Coller la valeur").Delete
End With
End Sub

Sub Col_valeur()
On Error Resume Next
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

salut

essaie ça :

Code:
Sub auto_open()
Application.OnKey "^c", ""
Application.OnKey "^v", ""
End Sub


Sub auto_close()
Application.OnKey "^c"
Application.OnKey "^v"
End Sub

;)
 

chorifi

XLDnaute Nouveau
Re : Désactiver copier coller par clavier dans une feuille excel

bonjour,

je reviens vers vous pour une un petit problème que je rencontre dès l'exécution du macro " désactiver copier coller" ci joint. en fait, une fois exécuté, le copier coller reste désactivé dans les autres classeurs même après la fermeture du classeur objet du macro.
je veux que ce macro soit affecté à un seul classeur avec une possibilité de le réactiver quand c'est nécessaire (dans le même classeur).

Merci d'avance pour votre aide et bonne journée à vous tous.

voici le macro "désactiver copier coller" :

Sub coller_off()
With CommandBars(1).Controls("Edition")
.Controls("Coller").Enabled = False
.Controls("Collage spécial...").Enabled = False
End With
With CommandBars("Cell")
.Controls("Coller").Enabled = False
.Controls("Collage spécial...").Enabled = False
On Error Resume Next
With .Controls.Add(msoControlButton, , , 3, True)
.Caption = "Coller la valeur"
.OnAction = "Col_valeur"
End With
End With
End Sub

Sub coller_on()
With CommandBars(1).Controls("Edition")
.Controls("Coller").Enabled = True
.Controls("Collage spécial...").Enabled = True
End With
With CommandBars("Cell")
.Controls("Coller").Enabled = True
.Controls("Collage spécial...").Enabled = True
On Error Resume Next
.Controls("Coller la valeur").Delete
End With
End Sub

Sub Col_valeur()
On Error Resume Next
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 695
Membres
103 372
dernier inscrit
BibiCh