Protection macro mot de passe

Bonjour, j'ai plusieurs macros dans un dossier "modules" et je souhaite en protéger quelques unes mais pas toutes. C'est un fichier partagé et certaines macros doivent être accessibles à tous, d'autres non donc protégées. Si je protège le dossier modules, toutes les macros sont protégées. Existe-t-il un code à insérer dans chaque macro à protéger ? Quelle est la solution ? Je vous remercie

Bonjour,

Sous MAC je ne fais pas autorité, mais je suppose qu'on doit pouvoir stocker toutes les macros protégées dans un classeur de macros complémentaires (boulo.xlam !) Et laisser les autres dans le classeur...

A+

MErci, mais ça fait donc deux fichiers ? Sachant que c'est un fichier partagé sur un drive. Comment ça se passe ?

Bonjour,

C'est un fichier partagé et certaines macros doivent être accessibles à tous, d'autres non donc protégées.

Pour Compléter le post de Galopin qui vous donne déjà une indication, voici quelques questions :
- comment accédez-vous aux macros via bouton ?
- les macros à protéger sont-elles appelées depuis les macros non protégées ?
- quand vous écrivez "non protégées", est-ce que vous voulez dire qu'elles ne doivent par être accessibles depuis le menu Affichage icone Macro ?

Cordialement

ci dessous mes réponses
- comment accédez-vous aux macros via bouton ? Oui
- les macros à protéger sont-elles appelées depuis les macros non protégées ? Non
- quand vous écrivez "non protégées", est-ce que vous voulez dire qu'elles ne doivent par être accessibles depuis le menu Affichage icone Macro ? Non je souhaite uniquement que les personnes qui connaissent un mot de passe puisse les exécuter

merci

Merci du retour sur les questions.

Là cela me parait plus compliqué à donner une réponse sans voir le fichier en question

Disons que si vos macros sont toutes accessibles via un bouton spécifique, à priori vous pourriez faire ne sorte que vous autorisez l'utilisation du code associé au bouton si le mot de passe est bon par exemple.
L'instruction Onaction peut aider dans ce cas.

Crdlt

NB : depuis votre inscription sur ce forum vous avez plusieurs fils qui restent ouverts. Si vous en avez terminé, pensez à les cloturer

13forum.xlsm (66.14 Ko)

Ci joint le fichier, je souhaite protéger les 3 macros à droite de l'onglet 2023

Salut,

Voici un petit test à la va vite.

Bien entendu le projet VBE doit-être protégé sinon aucun intérêt.Tu as trois procédures dans le module PWManager

GetpasswordPermet de récupérer le mot de passe actuel
SetPasswordDéfinie un nouveau mot de passe
InitPasswordInitialise le mot de passe cela évite une variable publique

Le mot de passe actuel est Admin31350 pour le remplacer tu vas dans la fenêtre d'exécution et tu tapes SetPassword puis entrer

Une autre solution consisterait à donner des autorisation par rapport au degré de responsabilité

  • Utilisateur : Accès à certaines fonctions
  • Administrateur : Accès à toutes les fonctions
26valtrase-forum.xlsm (66.96 Ko)

Re

Merci du fichier.

Voyez si la proposition de Jean-Paul vous convient.

Si souci sur MAC je peux regarder

Cordialement

Edit : vos trois codes doivent rester accessibles via les raccourcis clavier ?
Attention aussi que vous utilisez des raccourcis qui sont définis pour le fonctionnement d'excel (exemple : CTRL +s est attribué à la sauvegarde de fichier.....). faites plutôt CTRL + SHIFT + s par exemple

Ca m'a l'air bien sympathique tout ça. C'est parfait, merci beaucoup. Je vais essayer de basculer ça sur mon fichier ... Merci encore

Me voila à nouveau. Ca fonctionneparfaitement sur votre fichier, mais pas sur le mien. Les fonctions ...password sont inconnues. Voir pièce jointe

setpassword

Merci

Cliquez sur Ok et donnez l'info où cela bugue si possible

Expliquez ce que vous faites... sur quel bouton vous cliquez, etc...

Vous avez probablement oublié quelque chose

Re,

Tu as besoin du module PWManager. Dans ton fichier.

000199

Et du dois avoir ce bout de code en début de tes procédures :

    '<-- PROTECTION DE LA MACRO -->
    Dim LocalPW As String
    LocalPW = PWManager.InitPassword
    Dim LocalString As String
    LocalString = Application.InputBox("Entrez le mot de passe", "Un mot de passe est requis !", "*****")
    If LocalPW <> LocalString Then
        MsgBox "Perdu !"
        Exit Sub
    End If
    '<-- FIN DE LA PROTECTION 66>

Donc tu ouvre les deux fichiers le tiens et le mien et tu fais un Drag And Drop sur ton fichier du module PWManager
Ensuite tu vérifie tes procédures...

Merci beaucoup, je n'ai pas beaucoup de temps ces prochains jours, je vais regarder plus tard.

Bonjour, j'ai pu trouver un peu de temps. J'avais exporté / importé le module pwmanager et ça ne fonctionnait pas. Ce matin ça fonctionne, je ne comprends pas pourquoi.

Je me demandais aussi s'il existait une solution plus simple pour autoriser les macros aux personnes autorisées dans les propriétés du fichier (propriétés, sécurité, modifier les autorisaitons).

MERCI

Salut,

Là tu tapes sur les propriétés du fichier sous Windows, donc c'est du tout ou rien.

  • Si l'utilisateur se connecte sous ton compte Windows il aura accès à tout. (lecture, écriture, etc..)
  • Si l'utilisateur se connecte depuis son compte à lui, il ne pourras pas modifier le fichier (selon autorisation) mais pourras lancer les Macros...

Je ne suis pas expert du réseau et de ses paramètres, mais ce n'est pas par là que tu dois cherché...

Après ce n'est pas un code très compliqué non ?

Rechercher des sujets similaires à "protection macro mot passe"