XL 2010 Désactivé les fonctions copier / couper dans un fichier excel

younes belbaita

XLDnaute Nouveau
Bonjour.

ça me fait plaisir d'être parmi les membres de ce forum.

J'ai un fichier excel. Pour éviter les erreurs, je cherche un code macro pour désactiver les fonctions copier et coller sur mon fichier. Je veux seulement utiliser la fonction collage de valeur.

Merci pour votre aide bonne journée
 

thunder23

XLDnaute Occasionnel
bonsoir.
merci. oui on peut le faire avec un boutton. mais le probleme que mon fichier sera utiliser par d' autres personnes. moi je prefere un macro pour éviter les erreurs totalement

Re,

j'ai fais quelques recherches si il existe un moyen de bloquer le bouton en fonction de l'utilisateur. Il existe même pour cacher un bouton, c'est ce que j'ai sur un de mes fichiers. J'ai fait une page Login où l'utilisateur entre son ID et MDP et là en fonction du grade il a accès à tout ou une partie des boutons ou pages. Cela fait peut-être une chose en plus mais plus pratique si tu veux faire des choses avec ton fichier sans d'autre y ont accès ;)
 

GALOUGALOU

XLDnaute Accro
bonjour Younes Belbaita

une question comment voulez vous coller les valeurs si vous désactiver le copier ?

un avertissement
ce code protège contre la maladresse, pas contre la malveillance.
n'importe quel utilisateur au fait de l'informatique peut désactiver les macros et rendre obsolète cette protection


en fonction de votre choix choisir une des deux codes, à placer dans l'évenement feuille

ce code désactive complétement la possibilité de coller, colonne A a colonne DA
Enrichi (BBcode):
Dim NoCopCol As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Union(Me.Columns("A:AA"), Me.Columns("AB:DA"))) _
Is Nothing Then
Application.CutCopyMode = False
NoCopCol = True
Else
If NoCopCol Then Application.CutCopyMode = False
NoCopCol = False
End If
End Sub

ce code autorise le coller valeur sur la plage de cellule a1:a1000
Enrichi (BBcode):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1:aaa1000]) Is Nothing Then
Target.Copy
Application.EnableEvents = False
Application.Undo
Target.PasteSpecial Paste:=xlPasteValues
Application.EnableEvents = True
End If
End Sub

cordialement
galougalou
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16