Microsoft 365 Sécurisation copie / Eviter diffusion fichier

Anthonymctm

XLDnaute Occasionnel
Bonjour le forum,

Je n'ai pas trouvé de tuto ou de post à ce sujet (ce qui m'étonne), alors je demande de l'aide ici :)

Ça fait plusieurs mois que je développe un fichier Excel pour aider les professionnels d'un secteur spécifique.
Après avoir échangé plusieurs fois avec eux je comprends que mon fichier les intéresserait beaucoup mais je préférerais éviter que mon fichier ne se diffuse trop vite sans mon accord.

J'aimerais que chaque fichier excel se déverrouille avec un unique code, et que ce code ne soit pas valable si on copie colle le fichier évidemment.

Dans le même esprit, j'aimerai que selon le code que je donne ça déverrouille le fichier pour la durée que je choisis (2semaines, 6mois, illimité, etc). Et ces codes là serait toujours unique et propre à ce fichier.

Si vous pensez à une autre solution je suis aussi preneur ! (google doc et autre)
Mon fichier dispose de nombreuse macro.
Je souhaite pas forcément une solution vraiment incrackable, mais au moins qui tienne la route. Qui résiste à la première tentative d'intrusion en vba ou en modification d'extension :cool:
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Anthonymctm,
XL n'est pas l'outil qu'il vous faut.
Toutes les sécurités que vous mettriez en place seraient contournables en quelques secondes.
La sécurité est un sujet qui revient souvent. Mais XL n'a aucun niveau de sécurité.
Son seul niveau est une protection contre les maladresses de saisie, mais en aucun cas contre un esprit malicieux.
Sorry.
 

Anthonymctm

XLDnaute Occasionnel
Bonjour Anthonymctm,
XL n'est pas l'outil qu'il vous faut.
Toutes les sécurités que vous mettriez en place seraient contournables en quelques secondes.
La sécurité est un sujet qui revient souvent. Mais XL n'a aucun niveau de sécurité.
Son seul niveau est une protection contre les maladresses de saisie, mais en aucun cas contre un esprit malicieux.
Sorry.
Comme dit, je cherche pas une solution infaible, les utilisateur ne seront pas des hackeur ou des pro d'excel. je veux juste pouvoir mettre un mot de passe unique par fichier.
Je pensais à isolé une constante unique propre au fichier (comme la date de création du fichier qui change quand on fait une copie)(mais j'arrive juste à obtenir la date de création du fichier d'origine, tout le temps la même d'une copie à l'autre)

Sinon, vous connaissez des alternatives ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re Bonjour,
Testez sur un "vieux" fichier :
VB:
Sub DatesFiles()
[A1] = " Premier enregistrement"
[B1] = ActiveWorkbook.BuiltinDocumentProperties(11)
[A2] = " Dernier enregistrement"
[B2] = ActiveWorkbook.BuiltinDocumentProperties(12)
End Sub
Vous pouvez distinguer les dates d'origine de la dernière date.
Mais... il suffit de reforwarder le mail qui contient ce fichier pour qu'un tiers puisse l'installer.
Vous ne pourrez différencier celui à qui vous l'avez envoyé de celui qui l'a reçu par "Transmettre".

 

Anthonymctm

XLDnaute Occasionnel
J'avais pas pensé à la transmission par mail, ou le fichier originel reste accessible.
Par contre si je passe par un utilitaire de transfert temporaire comme WeTransfert ça devrait fonctionner je pense. Ensuite la seule façon pour l'utilisateur de le diffuser serait de faire un copier coller dans quel cas on se retrouve avec un nouveau fichier et une nouvelle date de création.

Pour le documentpropreties(11), ça prend la date de création originelle, qui ne change pas après un copier/coller. Faudrait que je puisse récupérer la date de création du fichier (dans propriété > détails > fichier > date de création), pas celle dans propriétés > Détails > Origine > contenu créé le.
 

dysorthographie

XLDnaute Accro
L'utilisation et la copie, je veux pas qu'on puisse s'en servir sans avoir indiquer le bon mdp.
La protection classique du VBA avec un mdp me suffit.
Si tu vas sur le site de Microsoft pour rechercher un outil pour déverrouiller les fichiers Excel, Microsoft te donnera un lien de téléchargement !

Tu ne pourras pas protéger tes données mais il est possible d'encapsuler ton code VBA dans les un DLL!

Je réitère ma question que veux tu protéger ?
 

Anthonymctm

XLDnaute Occasionnel
Si tu vas sur le site de Microsoft pour rechercher un outil pour déverrouiller les fichiers Excel, Microsoft te donnera un lien de téléchargement !

Tu ne pourras pas protéger tes données mais il est possible d'encapsuler ton code VBA dans les un DLL!
Pourquoi pas, je suppose que je dois pouvoir trouver comment faire sur le net :rolleyes:
Par contre protéger le VBA ok, mais comment protéger le fichier en lui même ?
Est-ce qu'on peut pas simplement masquer les onglets tant que le mdp n'est pas tapé ?
Et du coup comment rendre ce mdp unique ?

Edit pour répondre à ta question : Je veux que rien ne soit accessible tant qu'on a pas entré le mdp
Je renseigne le mdp ou j'ai plus qu'à fermer le fichier
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Peut être en deux fois.
Vous envoyez la PJ ci dessous, le demandeur vous renvoie le nom de son PC.
Vous personnifier une copie de votre fichier ( par ex en cryptant ce username ) puis vous lui envoyait.
Si votre code est bien fait, il ne s’exécutera que sur le PC qui porte ce Username.

Mais ....
1- Ca vous oblige à faire un fichier par destinataire
2- Face à quelqu'un de malveillant, ça tient 23 secondes.
 

Pièces jointes

  • Classeur2.xlsm
    13.7 KB · Affichages: 14

Anthonymctm

XLDnaute Occasionnel
Peut être en deux fois.
Vous envoyez la PJ ci dessous, le demandeur vous renvoie le nom de son PC.
Vous personnifier une copie de votre fichier ( par ex en cryptant ce username ) puis vous lui envoyait.
Si votre code est bien fait, il ne s’exécutera que sur le PC qui porte ce Username.

Mais ....
1- Ca vous oblige à faire un fichier par destinataire
2- Face à quelqu'un de malveillant, ça tient 23 secondes.
Pourquoi pas ! C'est une piste interessante !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Dans ce tuto sur les fonctions perso :

J'ai mis un exemple de cryptage décryptage, simple mais suffisamment complexe pour un néophyte.
Bien utilisé, le mdp n’apparaît jamais en clair.

VB:
Function Crypte(N)      ' Fonction de cryptage dynamique, la clef est aléatoire ( 26 cas possible )
Off_Initial = Int(1 + 25 * Rnd())
Nout = Chr(63 + Off_Initial)
For i = 1 To Len(N)
    Offset = Int(16 * Sin(i + Off_Initial))
    Nout = Nout & Chr(Offset + Asc(Mid(N, i, 1)))
Next i
Crypte = Nout
End Function
Function Decrypte(N)    ' Fonction inverse de la fonction de cryptage, la clef est extraite du premier caractère.
Off_Initial = Asc(Left(N, 1)) - 63
Nout = ""
For i = 2 To Len(N)
    Offset = Int(16 * Sin(i - 1 + Off_Initial))
    Nout = Nout & Chr(Asc(Mid(N, i, 1)) - Offset)
Next i
Decrypte = Nout
End Function
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG