Excel : Comment protéger contre le copier / coller ?

Excel : Comment protéger contre le copier / coller ? - VB/VBA/VBS - Programmation

Marsh Posté le 30-04-2009 à 20:35:41    

Bonjour,
 
J'ai développé un fichier Excel que j'ai protégé par un mot de passe.
 
Ce fichier contient des cellules de saisie avec des menus déroulants définis avec l'outil validation / liste.
 
Le problème, c'est que même quand le fichier est protégé, on peut faire copier/coller sur ces cellules, et ça écrase la liste déroulante ! Comment faire pour interdire le copier/coller ? Ou alors autoriser seulement le collage spécial / valeur ?

Reply

Marsh Posté le 30-04-2009 à 20:35:41   

Reply

Marsh Posté le 01-05-2009 à 09:40:42    

Up ?

Reply

Marsh Posté le 01-05-2009 à 10:16:20    

Reply

Marsh Posté le 01-05-2009 à 10:21:13    

En cliquant sur une cellule, puis en allant dans Format/Cellule vous devriez voir un onglet "Protection" qui permet de la protéger.
 
Mais il serait intéressant de savoir en premier lieu qui écrase vos cellules et pour quelle raison.
 
Si c'est de la malveillance, alors il n'existe malheureusement aucune solution simple.
 
Si c'est par inattention, alors il faut utiliser des cellules qui soient situées dans un endroit tranquille. Par exemple, prenez des cellules qui ne sont pas dans les premières colonnes, ou pas dans les premières lignes, ou pas dans la première feuille.

Reply

Marsh Posté le 01-05-2009 à 10:43:28    

Mais en fait, il ne faut pas qu'elle soit protégée car c'est une cellule de saisie !
 
Je veux juste que les utilisateurs ne puissent pas en changer le format par copier/coller ou autre.

Reply

Marsh Posté le 01-05-2009 à 11:18:05    


C'est bon j'ai trouvé grâce à ton lien :
 

Citation :

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_SheetActivate ()
'Interdit le collage suite à une copie venant d'une autre feuille du même 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


 
 
 
Pas encore testé, mais ça devrait le faire je pense.
 

Reply

Marsh Posté le 01-05-2009 à 12:29:49    

Par contre, j'ai des boutons de macro qui font des copier/coller.

 

Est ce qu'il faut que je rajoute Application.CutCopyMode = True dans le code ?

Message cité 1 fois
Message édité par Clavierazerty le 01-05-2009 à 13:14:34
Reply

Marsh Posté le 27-12-2009 à 13:57:23    

Bonjour à tous,
 
Je me permet de vous contacter afin d'avoir des réponses à mes interrogations. Je travail sur plusieurs exercices dont un qui bloque depuis trois jours. Vous l'aurez compris, cela porte sur VBA Excel 2003. [B]Méthode [/B]: Créer une liste déroulante avec en dessous un champs pouvant accueillir des images.
L'idée : Depuis la selection de l'info de la liste déroulante, l'image s'y rapportant s'affiche juste en dessous [B]automatiquement[/B].
Exemple : (Dans ma liste déroulante, j'ai des races de chiens, en choisissant le "berger allemand", l'image de berge allemand s'affiche juste en dessous.
 
J'ai mis en pièce jointe une maquette afin que vous ayez un aperçu de la forme que cela doit avoir.
 
 http://cjoint.com/?mBnM4yM6cd
 
Help me please, je serai très reconnaissante à la personne qui me donnera une réponse concrète

Reply

Marsh Posté le 30-12-2009 à 19:58:13    

Clavierazerty a écrit :

Par contre, j'ai des boutons de macro qui font des copier/coller.
 
Est ce qu'il faut que je rajoute Application.CutCopyMode = True dans le code ?


Bonsoir Clavierazerty,
 
Je ne suis pas spécialiste des protections, mais je crains que tu ne te trompes sur la portée de    
"Application.CutCopyMode = False".
 
Cela stoppe le Mode CutCopy d'une (ou +sieurs) cellule, c à dire les pointillés autour de la zone source, pour ou après une copie, c'est tout!
 
 Pas plus que Escape, après une copie. Et je crains bien qu'il en soit de même pour ta commande  "Application.CellDragAndDrop = False "  (C pas sûr, mais... très probable).
 
Kiki29 t'a très gentiment indiqué une adresse de site où tu as toutes les formules que tu demandais, je te conseilles de t'en servir, mais n'oublies pas les commandes pour déverrouiller en fermeture de feuille, sinon  plus de copies !!!
 
ainsi qu'évtuellement mettre un mot de passe permettant la saisie
 
Cordialement
 
 
 


---------------
Olympus OM-D  EM-5 + 14-42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed