Cacher les macros confidentielles aux utilisateurs de fichiers Excel

Bonjour à tous,

Je me pose la question de savoir s'il est techniquement (et facilement) possible de fournir des fichiers Excel à des utilisateurs et que les macros dont ces fichiers ont besoin, se lancent sans que les utilisateurs ne puissent les voir ou les copier ?

Je travaille dans un site scolaire géré par un réseau académique où étudiants et professeurs ont des droits limités sur certaines zones des disques durs. Certaines macros déterminantes pour le fonctionnement des fichiers excel sont confidentielles et ne doivent pas être lues ou récupérées même si leur utilisation est autorisée.

Il existe des dossiers du réseau dans lesquels la lecture est possible mais pas l'écriture pour les étudiants : Est-il possible d'y mettre un fichier de "macros" caché mais accessible en lecture sans que les étudiants sachent qu'ils sont en train de l'utiliser et que si il emmenaient le fichier Excel chez eux, rien ne leur dise qu'une macro située dans un répertoire distant est manquante ?

J'ai vu l'existence de macro "private Sub" sans avoir compris si c'était une piste à suivre dans mon cas.

Merci pour vos lumières...

Christophe

Bonjour,

Une solution consisterait à placer vos macros confidentielles dans une macro complémentaire (.xlam), mais il serait illusoire de penser que vous seriez protégé pour autant, parce que même protégé par un mot de passe, celui-ci peut être déplombé en quelques secondes, j'en ai fait l'expérience...

Cela supposerait également que cette macro complémentaire soit installée seulement dans le "AppData\Roaming\Microsoft\AddIns" des users autorisés et que seul l'administrateur ait les droits d'accès sur le répertoire, ce qui devrait être le cas dans une organisation telle que la vôtre.

Il faut voir ensuite si votre administrateur est suffisamment réactif pour gérer l'installation des mises à jour, car c'est déjà très problématique dans les petites organisations.

Bonjour le fil, bonjour le forum,

Tout à fait d'accord avec Éric, toutefois il existe dans ce site (ici) un système de cryptage qui permet de faire fonctionner les macros mais leur code est incompréhensible. Moi ça m'a obsufqué grave. Ils disent bien de garder le code original dans un endroit sûr pour pouvoir éventuellement le modifier.

Ce que je ne sais pas c'est si on fait un copier/coler du code crypté il fonctionne dans un autre fichier... Peut-être ça pourrait t'intéresser...

A tester, mais si ça peut marcher, dans mon cas ce serait intéressant.

J'ai essayé "l'obfuscation" qui semble bien fonctionner et qui masque bien l'écriture initiale. Mais :

- Un quidam récupérant un code obfusqueé peut-il le faire "désobfusquer" par Excel-pratique (ou quelqu'un d'autre) ?

- le code obfusqué peut-il être dans un fichier autre que celui du fichier Excel qui en a besoin ? (ceci de manière à ce que si le fichier Excel est "emprunté par mégarde", celui-ci, loin de ses Codes VBA, ne fonctionne plus.)

Merci

Bonjour le fil, bonjour le forum,

Moi, avant de poser ces questions, j'aurais fait des tests... Mais j'dis ça, j'dis rien...

Que puis-je faire comme tests ? Et pour déterminer quoi ? j'dis ça, j'dis rien... sisi... dis tout !

Je ne maîtrise pas le réseau sur lequel je travaille. Ce sont des agents technique et pédagogique (embauchés par les régions) qui ont la main sur les réseaux scolaires.

Des tests sont possibles, mais il faudra d'une part, les limiter et d'autre part, les décrire de façons assez précise pour qu'ils aient des chances d'être faits.

Salut à tous,

J'ai essayé "l'obfuscation" qui semble bien fonctionner et qui masque bien l'écriture initiale. Mais :

- Un quidam récupérant un code obfusqueé peut-il le faire "désobfusquer" par Excel-pratique (ou quelqu'un d'autre) ?

- le code obfusqué peut-il être dans un fichier autre que celui du fichier Excel qui en a besoin ? (ceci de manière à ce que si le fichier Excel est "emprunté par mégarde", celui-ci, loin de ses Codes VBA, ne fonctionne plus.)

Bien entendu tout ce qui à été fait peut être défait, par contre bonjour le travail, cela risque d'en démoraliser plus d'un. (il faut prendre chaque variable, faire une recherche et un remplacement avec un nom explicite)

Si l'on regarde bien les codes, ce sont juste les noms de variables qui changes, et des fois les messages, donc normalement si tu exportes tout le code pas de soucis sur un autre pc. (Une variable qu'elle se nome lngCounter ou iiiiiiiiiihhhhiiijjjjhhhiii cela ne l'empêchera pas de fonctionner sur plusieurs PC.

De manière générale il vaut mieux que le code soit dans le même classeur, mais tu peux évidemment lancer un procédure à partir d'un Classeur A qui va modifier des cellules d'un classeur B, mais encore une fois ce n'est pas recommandé.

Rechercher des sujets similaires à "cacher macros confidentielles utilisateurs fichiers"