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 le code VBA par macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de pitoumad
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 83
    Points : 63
    Points
    63
    Par défaut Protéger le code VBA par macro
    Bonjour
    Je veux créer une sorte de session administrateur qui puisse accéder au code VBA quand il entre un mot de passe. Lorsque celui-ci ferme sa session, le code VBA sera à nouveau protégé.
    Est-ce possible avec du code de réaliser cette protection (qui correspond au menu outil - propriété de VBA - Protection) ? Avec quelle syntaxe d'instruction ?
    Merci par avance
    "La seule chose promise d’avance à l’échec, c’est celle que l’on ne tente pas." Paul-Emile Victor

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut hhheeu!!!
    bonjour

    protege et met un mot de passe a ton projet

    avec certaine macro ca va vouloir modifier le fichier donc le mot de passe sera de rigueur pour utiliser le fichier enfin je crois en mois que tu n'ai pas de control du genre listbox et autre activex modifiable par macro

    forcement quand la macro va vouloir remplir le listbox qui est vide au depart la le mot de passe va se declencher


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Salut
    Apres quelques recherche (Google est ton ami )
    il existe la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveWorkbook.VBProject.Protection
    mais celle ci est en lecture seule, ce qui indique déjà une volonté de ne pas la rendre accessible en écriture.
    J'ai trouvé , toujours sur google une "méthode" en utilisant l'api sendkey ... mais bon si j'etais toi je ferais sans, enfin a toi de voire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Public Sub UnprotectVBAProject()
    'This has been tested in E97 only.
    On Error GoTo ErrHandler
    Const conPW as String = "MyPassword"
     
    'Open VBE
    Call SendKeys("%{F11}", True)
    'Open Project Explorer
    Call SendKeys("%(V)P", True)
    'PageUp 5 times to be sure "VBAProject" is selected
    Call SendKeys("{PGUP 5}", True)
    'Hit Enter to give prompt, enter PW and Enter again.
    Call SendKeys("{ENTER}" & conPW & "{ENTER}", True)
     
    ExitProcedure:
    Exit Sub
     
    ErrHandler:
    Select Case Err.Number
    Case Else
    Application.ScreenUpdating = True
    MsgBox Err.Number & vbNewLine & Err.Description,
    vbCritical
    Resume ExitProcedure
    Resume
    End Select
     
    End Sub
    Source du code

    En gros, lorsque tu lances cette macro, ça ouvre la fenêtre de l'éditeur VB, et sa simule des raccourcis ou des touches clavier afin de faire afficher la fenêtre de demande password, puis ça saisi le password. Mais bon encore une fois, c'est du bricolage... vu que le nom du projet est inscrit null part dans la macro, je présume que ça essai d'ouvrir le premier projet venu...

    Autant donner le mot de passe de ton code vba directement, quel intérêt de donner un autre mot de passe pour deverouiller un code avec un mot de passe différent ... . D'autant plus qu'une fois le projet VBA deverouillé, la personne aura accès à ta macro unprotect et vera donc le MP du Projet VB écrit en dur dans ton code..... il faudrait alors passer par un fichier xla qui contient ta macro de déverrouillage, a mon avis ça devient très vite une usine a gaz.

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Protéger le code vba de plusieurs classeurs Excel par mot de passe
    Par Thierry_67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2015, 00h43
  2. [Toutes versions] Protéger le code vba de plusieurs classeurs Excel par mot de passe
    Par BAPOULA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/10/2014, 14h16
  3. Protéger le code vba de plusieurs classeurs Excel par mot de passe
    Par BAPOULA dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2014, 11h34
  4. Comment protéger le code VBA par mot de passe
    Par electrosat03 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/01/2012, 12h19
  5. Maj le code VBA par une macro extérieure
    Par benpinta dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/10/2007, 09h16

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