Suppression fichier Excel lors d'une tentative de déblocage du mot de pass

Bonjour,

A travers l'onglet révision, on peut protéger par mot de pass une feuille Excel ou un classeur. Idem pour un mot de pass sur le code VBA à travers l'onglet développeur. Mais le contournement de ces protections s'avère très facile (méthodes manuelles ou par logiciels) !

Je souhaiterais trouver une parade avec peut-être la piste suivante :

J'ai positionner dans "ThisWorbook" le code suivant

Private Sub Workbook_Open()
'Determinez la date limite dans le format mois / jour / année
If Now() > #9/30/2022# Then
    MsgBox "Fin de validité de la licence" 
    Sleep 3000 'Sleep calcule en millisecondes. Donc Sleep 1000 attendra 1 seconde...
    Call DESTRUCTION_FICHIER
Else
MsgBox "Attention le fichier est utilisable jusqu'au 30 septembre 2022."
End If
End Sub

puis dans un module le code

Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub DESTRUCTION_FICHIER()
Dim FName As String
Dim Ndx As Integer
With ThisWorkbook
    .Save
    For Ndx = 1 To Application.RecentFiles.Count
        If Application.RecentFiles(Ndx).path = .FullName Then
            Application.RecentFiles(Ndx).Delete
            Exit For
        End If
    Next Ndx
    .ChangeFileAccess Mode:=xlReadOnly
    Kill .FullName
    .Close SaveChanges:=False
End With
End Sub

Résultat : Si la date de l'ordinateur est supérieure au 30/09/2022, le sub DESTRUCTION FICHIER s'enclenche et supprime la totalité du fichier Excel.

Y-a-t’il un moyen d'enclencher le sub DESTRUCTION FICHIER dès lors qu'une tentative manuelle ou par logicielle serait tentée pour "casser" ou supprimer le mot de pass sur la feuille, ou sur le classeur ou sur les lignes de code VBA ?

Merci pour votre aide

Claude

Bonjour,

à partir du moment où on peut ouvrir un fichier sans lancer les macros et qu'il suffit alors de supprimer ta procédure, ta protection restera illusoire.
eric

Bonjour,

Merci pour ce retour.

On ne sait jamais, il existe peut être une possibilité d'atteindre l'objectif afin que cette macro soit exécuté dès lors qu'une tentative de manipulation non autorisée se fasse sur la protection par mot de pass.

Claude

Comment te le dire autrement ?
On peut TOUJOURS ouvrir un fichier en refusant les macros.

Bonjour à tous,

Il y a aussi l'obfuscation.

C'est vrai que toutes les manips pour protéger son code peuvent être contournées par un expert, mais je considére que tous l'étant pas, tout ce qu'on peut mettre en place est utile pour les géner. Moi j'ai mis une période d'essai aprés laquelle la page essentielle est zappée. Si l'utilisateur ne s'y connait pas en vba, il aura du mal à trouver.

Cdt

Bonjour,

L'idée me semble très bien. je ne connaissais pas cette possibilité. Je fait un test sur mon programme demain et vous ferais un retour.

Merci

Claude

Bonjour,

Pour l'obfuscation, cela fonctionne et correspond à mes besoins pour cacher le code VBA.

Merci

Claude

Salut,

Il est aussi utile d'ajouter que le test doit être effectué à divers endroits, car si l'on supprime le code de Workbook_Open adieu la protection

Merci

Claude

Rechercher des sujets similaires à "suppression fichier lors tentative deblocage mot pass"