Interdire le copier coller

Soyez le premier à donner votre avis sur cette source.

Vue 10 789 fois - Téléchargée 421 fois

Description

Permet d'interdire le Copier/Coller à partir de votre prog vers un doc Word, Excell...

Source / Exemple :


Option Explicit
Dim Interdit As Boolean

Private Sub cmd_Interdire_Click()
    If Clipboard.GetFormat(vbCFText) Or Clipboard.GetFormat(vbCFRTF) Then
        Clipboard.Clear
    End If
    If cmd_Interdire.Caption = "Interdire le Copier/Coller !" Then
        cmd_Interdire.Caption = "Autoriser le Copier/Coller !"
        Interdit = True
        Exit Sub
    End If
    If cmd_Interdire.Caption = "Autoriser le Copier/Coller !" Then
        cmd_Interdire.Caption = "Interdire le Copier/Coller !"       
        Interdit = False
        Exit Sub
    End If

End Sub

Private Sub cmd_Quitter_Click()
    End
End Sub

Private Sub Form_Load()   
    Interdit = False
End Sub

Private Sub TextDroite_KeyDown(KeyCode As Integer, Shift As Integer)
Dim CTRL_EnfonceD As Integer
Dim Response As Integer
    If Interdit = True Then
        CTRL_EnfonceD = (Shift And KeyCode) > 0       
        If CTRL_EnfonceD Then
            MsgBox "Copier/Coller interdit !" & Chr(10) & "Pour y être autorisé, appuyer sur le bouton." & Chr(13) & Chr(13) & "   ---PL@cidBlue07---", vbExclamation, "   Attention !"          
            If Clipboard.GetFormat(vbCFText) Or Clipboard.GetFormat(vbCFRTF) Then
                Clipboard.Clear
            End If
        End If
    End If
End Sub

Private Sub TextDroite_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Interdit = True Then     
        If Button = 2 Then
            MsgBox "Copier/Coller interdit !" & Chr(10) & "Pour y être autorisé, appuyer sur le bouton." & Chr(13) & Chr(13) & "   ---PL@cidBlue07---", vbExclamation, "   Attention !"
        End If
    End If
End Sub

Private Sub TextGauche_KeyDown(KeyCode As Integer, Shift As Integer)
Dim CTRL_EnfonceG As Integer
Dim Response As Integer
    If Interdit = True Then
        CTRL_EnfonceG = (Shift And KeyCode) > 0       
        If CTRL_EnfonceG Then
            MsgBox "Copier/Coller interdit !" & Chr(10) & "Pour y être autorisé, appuyer sur le bouton." & Chr(13) & Chr(13) & "   ---Pl@cidBlue07---", vbExclamation, "   Attention !"           
            If Clipboard.GetFormat(vbCFText) Or Clipboard.GetFormat(vbCFRTF) Then
                Clipboard.Clear
            End If
        End If
    End If
End Sub

Private Sub TextGauche_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Interdit = True Then       
        If Button = 2 Then
            MsgBox "Copier/Coller interdit !" & Chr(10) & "Pour y être autorisé, appuyer sur le bouton." & Chr(13) & Chr(13) & "   ---Pl@cidBlue07---", vbExclamation, "   Attention !"
        End If
    End If
End Sub

Conclusion :


C 1 truc simple ya peut etre mieux, si vous connaissez faites le savoir! merci !
(C'est mon 1° prog ici alors ne soyez pas trop mechant!)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
218
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
15 novembre 2009
1
le mieu mais un peut lourd serrai d'analyser le clipboard et de detecter si il contient le text precis et a ce moment la effectuer l'operation. car bloquer des actions est un peux inutile du fait que chaques actions peuvent êtres remplacées par une autre de même efficacité. Exemple : Je remplace mon CTRL+C par ALT+D. etc... Mais l'idée est simpas.
Messages postés
47
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
22 juin 2005

Hmmm! Il y a 2 failles majeures dans ce programme...

1 - La première a déja été dites (En faisant un Cut (CTRL-X) le copier se fait)
2 - Si on appuie sur Enter en même tant que l'on fait le clique droit, et bien le menu contextuel habituel apparait et l'on peut choisir Copier. Même chose pour Coller dans la fenêtre #2.

Je sais que le code date un peu et qu'une meilleure méthode à été trouvée depuis... Je ne fais qu'avertir ceux qui ne le savait pas...

De plus, la méthode de SHAD20020 est une très bonne alternative!!!
Messages postés
4
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
5 octobre 2003

plus simple un

Private Sub Timer_Timer()
Clipboard.Clear
End Sub

pis sa marche no 1
Messages postés
8
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
25 décembre 2002

G du me planter a Kekpart jessaierai de voir ca mieux!
Messages postés
25
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
7 octobre 2002

Juste un probleme, si tu fais un cut, tu va effacer le texte et tu pourra le copier dans un fichier texte ou ailleurs.
@+
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.