IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Protéger un mot de passe présent dans une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut Protéger un mot de passe présent dans une macro
    Bonjour,

    Je travaille sur la création d'une macro dont une fonction a pour but de protéger une feuille par la fonction suivante :
    ActiveSheet.Protect Password:=”Mot_de_passe" etc...

    Le mot de passe est visible dans la macro, il suffit de faire Outil>Macro>Visual Basic Editor pour lire le mot de passe en quelques secondes.

    J'ai donc désactivé les raccourcis, fermé automatiquement l'éditeur VBA et désactivé le menu d'accès aux macros grâce aux fonctions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Application.OnKey "%{F8}", ""
    Application.OnKey "%{F11}", ""
    Application.VBE.MainWindow.Visible = False
    Application.CommandBars("Visual Basic").Enabled = False 
    Application.CommandBars("Macro").Enabled = False
    Il n'est alors plus possible d'accéder aux macros.

    Mais lorsque j'enregistre, puis ferme le classeur, puis l'ouvre à nouveau Excel demande si je veux activer les macros (fonctionnement habituel), je clique sur oui et le menu macros redeviens accessible.

    Comment puis-je vraiment bloquer l'accès aux macros qui contiennent mon mot de passe de protection de la feuille ?

    Chevrefeuille

  2. #2
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Par défaut
    Tu peux verrouiller l'accés en allant dans le menu Outils / Propriétés du VBA Project / Protection. Coche Verrouiller le projet pour l'affichage et tape ton mot de passe pour protéger le code source de ta macro (cette protection n'en est pas réellement une vu que des macros existent pour casser ce mot de passe de protection mais bon ça empêche les néophites de modifier tes macros).

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Merci Tenanio pour cette indication.

    Comment puis-je désactiver cette protection ensuite, où faut il entrer le mot de passe ?

    Est il possible de coder cette manipulation en VBA ? Autrement dit peut on indiquer dans une macro VBA qu'à l'exécution de celle-ci on ne pourra plus accéder aux macros ?

    Chevrefeuille

  4. #4
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Par défaut
    Lorsque ta macro (projet) est protégée par un mot de passe, si un bug apparait lors du lancement de ta macro, l'utilisateur verra le message de l'éditeur VBA mais ne pourra pas accéder ton code (sauf s'il possède ton mot de passe). Si tu souhaite accéder à ton code : ALT+F11 et ensuite tu clique sur ta macro dans l'explorateur de projets (à gauche). L'éditeur te demandera alors de taper ton mot de passe.

    Par contre je ne sais pas si c'est possible de protéger un projet VBA par un mot de passe à partir d'une autre macro (je pense même que ce n'est pas utile).

    Pour désactiver la protection, tu retourne dans le menu Outils de l'éditeur (voir mon post précédent) et décoche la case Verrouiller le projet pour l'affichage.

Discussions similaires

  1. [XL-2013] Enregistrement du mot de passe ODBC dans une macro
    Par SEBJAK dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/11/2016, 23h27
  2. [XL-2010] Cacher mot de passe présent dans mon code
    Par Surinox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/06/2015, 15h51
  3. Réponses: 4
    Dernier message: 05/05/2015, 14h55
  4. Réponses: 4
    Dernier message: 15/03/2015, 21h18
  5. Fonction de hash de mot de passe à stocker dans une base de données
    Par Leaffy dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 27/12/2011, 23h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo