Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Interdire le collage d'un fichier vers un autre

CISCO

XLDnaute Barbatruc
Bonjour

Besoin d'un petit coup de main.

Ma question est simple, sa mise en pratique beaucoup moins pour quelqu'un comme moi qui n'y comprend presque rien en VBA (Je m'y mettrai, mais, pour le moment, je n'ai pas vraiment le temps...) :

Est-il possible d'empêcher le collage d'une partie d'un fichier quelconque dans un autre ?

Merci d'avance.

@ plus
 

job75

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Bonjour CISCO,

Pour éviter le collage dans un autre fichier, je ne vois qu'une solution : contrôler régulièrement qu'il n'y a rien dans le presse-papier.

Ce contrôle peut se faire par la méthode Application.OnTime (faire une recherche sur le forum) qui toutes les secondes ferait s'éxécuter le code suivant :

Application.CutCopyMode = False

ou bien encore :

Range("A1").Copy Range("A1")

Dans les 2 cas le presse-papier se vide...

A+
 

job75

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Re,

Ah mais j'oubliais...

Plutôt que Application.OnTime, il y a bien plus simple : mettre les codes de mon post précédent dans une macro Workbook_Deactivate...

A+
 

CISCO

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Bonsoir à tous, bonsoir Job75

En cherchant avec tes mots clefs, et après plusieurs essais, j'ai trouvé une macro empêchant de coller sur n'importe quelle feuille du fichier, en utilisant :

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

"Malheureusement", je ne désire pas empêcher le copier coller sur ces feuilles, je désire empêcher le coller sur n'importe quelle feuille de ce fichier en provenance d'un autre fichier... Ce n'est pas tout à fait pareil.

Si quelqu'un peut un peu m'aider, merci d'avance.

@ plus
 

Pièces jointes

  • essai protection.xls
    31.5 KB · Affichages: 189
  • essai protection.xls
    31.5 KB · Affichages: 204
  • essai protection.xls
    31.5 KB · Affichages: 209
Dernière édition:

job75

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Re,

C'est certain, ce n'est pas pareil, et comme on ne peut pas savoir l'origine de ce qu'il y a dans le presse-papier...

Si l'on ne veut pas bloquer le copier-coller, je ne crois pas qu'il y ait de solution.

A+
 

CISCO

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Re,

et comme on ne peut pas savoir l'origine de ce qu'il y a dans le presse-papier...

A+

Bonjour

N'y aurait il pas un moyen pour connaitre l'origine du contenu du presse papier...?

En fait, je suis prof et je veux trouver une astuce pour empêcher la "triche" :
Mes élèves travaillent sur un réseau, et parfois sur des fichiers très similaires. Dans ces conditions, il est assez facile d'ouvrir le fichier du copain, puis de le renommer (mais j'ai "piégé" les divers fichiers nominatifs de base, que les élèves doivent modifier, et, par conséquent, je me rend compte de cette triche), ou de faire un copier-coller (le copain passe une heure pour faire le boulot, et l'élève tricheur, en 5 secondes, clic, clic, hop, c'est fait, sans rien y comprendre)... Et là, je n'ai pas trouvé un moyen simple pour contrer cette possibilité de triche. Peut être avec des MFC particulières, très discrètes, que j'irai controlé. Pas très pratique...
Dans ces conditions, comment évaluer sérieusement leur travail ?

Si quelqu'un a une astuce, merci d'avance.

@ plus
 

job75

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Re,

Je pense à une chose qui peut vous intéresser : empêcher le copier-coller si plus d'un fichier est ouvert :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Workbooks.Count > 1 Then Application.CutCopyMode = False
End Sub

A+
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Bonsoir

Merci Job75

Bonne idée, mais cela ne fonctionne pas à tous les coups. Je n'ai pas réussi à comprendre exactement pourquoi des fois c'est OK, pourquoi d'autres fois c'est non...

@ plus
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Bonjour Cisco, le forum ,
Une solution un peu machiavélique : supprimer dans le menu les Copier/Coller avec quelque chose du style
Code:
Application.CommandBars("edit").Enabled = False
et dériver les équivalents claviers vers des macros à toi
Code:
    Application.OnKey "^c", "MonCopier"
publier une variable
Code:
Public Sécurité As String
qui dans MonCopier est rempli avec
Code:
Sécurité = ThisWorkbook.Name
à ce moment là, quand Ctrl-V va appeler "MonColler", tu fait un test si Sécurité est bien le nom du fichier où "MonCopier" a été fait. Comme Excel refuse (en principe) d'ouvrir simultanément 2 fichiers au nom identique, ça devrait fonctionner. Ne pas oublier de remettre tout en place à la fermeture...
Bon courage
 

JNP

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Salut Cisco ,
Voici une ébauche de ma proposition. Les Ctrl-c et Ctrl-v sont shintés, donc tu peux les utiliser dans le même fichier mais pas entre 2 fichiers. J'ai déconnecté le clic-droit qui contient aussi les copier/coller, mais il est certainement possible de ne désactiver que le Copier et le Coller, il faudrait faire une recherche sur les modifications de menus contextuels. Enfin, j'ai mis les lignes de codes pour désactiver les Copier Couper Coller Collage spécial dans le menu, mais je ne les ai pas activées, chez moi, elle ne fonctionnent pas mais je suis comme toi en 2007 et la gestion du ruban est différente, pour l'école, ça devrait être bon.
Maintenant, encore faut-il que tes élèves ne désactivent pas les macros, mais il est possible de les obliger (tout au moins pour ceux qui ne sont des bêtes en craquage, mais ceux-là, je ne pense pas qu'ils ait besoin de tricher !), on en reparlera.
Bon dimanche
 

Pièces jointes

  • Coller interdit.xls
    37 KB · Affichages: 218

CISCO

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Bonsoir

Merci JNP pour ce fichier

Chez moi, CTRL+C et CTRL+V ne fonctionnent pas, ni le clic droit, comme prévu. Par contre le coller à partir du bandeau fonctionne. Dès que je peux, je teste ton fichier sur excel 2003.


Vu ce que je leur demande (création d'un petit tableau d'une page permettant de réaliser un petit devis, avec uniquement des +, des *, des SOMME et quelques $), si ils savent contourner les macro, c'est qu'ils ont beaucoup plus que le niveau que je leur demande.

Encore merci.
@ plus
 

JNP

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

Salut Cisco ,
Pour désactiver sous 2007, il faut utiliser la programmation du ruban
Désactivation et réaffectation des commandes
Je regarderai pour le fun .
Bonne journée
 

mromain

XLDnaute Barbatruc
Re : Interdire le collage d'un fichier vers un autre

bonjour CISCO, JNP, job75

la problématique est intéressante.

Il y a un autre cas de "copier-coller" qui a mon avis ne sera pas facile à bloquer :
si on a 2 fichiers cote à cote, et qu'on fait glisser une cellule d'un fichier à l'autre avec la touche "Ctrl" appuyée.

a+
 

Discussions similaires

Réponses
5
Affichages
450
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…