Comment empêcher votre classeur Excel d'être déplacé ou copié

Partage maintenant:

Le vol de données peut être minimisé en désactivant diverses fonctionnalités de menu et de clic droit dans Excel. Nous expliquons ci-dessous comment procéder à l'aide de VBA.

On suppose que le lecteur a le ruban Excel Developer affiché et qu'il est familiarisé avec l'éditeur VBA.

L'interface utilisateur

Créez une feuille de calcul avec deux boutons et quelques données.  Construire une feuille de calcul avec deux boutons et un peu de données

Cette feuille aura son ruban affiché et toutes les fonctionnalités de clic droit offertes par Excel.

La fiche est disponible ici.

Le code VBA

Il existe une variété de contrôles de la barre de commandes qui peuvent être désactivés. Vous devrez rechercher sur Google les numéros d'identification de ces contrôles. Nous utiliserons les ID 19 et 21 pour cet exercice.

Sub Auto_Open()    ‘Auto_open runs automatically when the workbook is opened
    Dim Control As Office.CommandBarControl

    Application.CommandBars("ply").Enabled = False     'disables right-Click on sheet tab

    For Each Control In Application.CommandBars.FindControls(ID:=21)    'disables CUT
        Control.Enabled = False
    Next Control

    For Each Control In Application.CommandBars.FindControls(ID:=19)     'disables COPY
        Control.Enabled = False
    Next Control
    Application.CellDragAndDrop = False
 
    Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"", False)"     'Hides ribbon
End Sub

Sub Restore()
    Application.CommandBars("ply").Enabled = True     'enables right-click on sheet tab

    Dim Control As Office.CommandBarControl

    For Each Control In Application.CommandBars.FindControls(ID:=21)     'enables CUT
        Control.Enabled = True
    Next Control

    For Each Control In Application.CommandBars.FindControls(ID:=19)     'enables COPY
        Control.Enabled = True
    Next Control
    Application.CellDragAndDrop = True

    Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"", True)"     'shows ribbon
End Sub

Sub Auto_close()    
    Call Restore    ‘Ensure other workbooks work properly
End Sub

Attribuez le bouton Restaurer à la sous-restauration et le bouton Désactiver à la sous-ouverture automatique.

Exécutez le code Auto_open ; vous remarquerez que Couper et Copier sont désactivés dans le menu contextuel et que le ruban a disparu. Vous ne pourrez pas non plus déplacer la feuille vers un autre classeur à partir de l'onglet Feuille.Attribuez le bouton de désactivation à Sub Auto_open

Il y aura toujours des moyens de contourner ces précautions, mais le but est de rendre la tâche difficile pour tous, sauf pour le pirate informatique sérieux ; la protection de la feuille de calcul est un autre moyen de dissuasion, tout en garantissant qu'elle ne peut pas être copiée directement à partir d'un sous-dossier.

Enfin, protégez votre code contre la visualisation ou la modification :  Outils>Propriétés>Protection.

Corruption de fichier Excel

« J'ai dédoublé le fichier ; maintenant, je rencontre des échecs Excel sans raison apparente. Cependant, je m'attends toujours à avoir terminé aujourd'hui.

Que cela se termine bien ou non peut dépendre du fait que l'utilisateur dispose ou non d'un outil efficace avec lequel réparer Excel. En l'espèce, la feuille de calcul comportait plus de 90,000 XNUMX lignes.

Introduction de l'auteur:

Felix Hooker est un expert en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparer rar et produits logiciels de récupération sql. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.