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 :

Déverrouiller le code vba à partir de VBE


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Déverrouiller le code vba à partir de VBE
    Bonjour,
    J'ai cherché partout sur le forum pour déverrouiller le code VBA et je n'arrive pas !!

    Mon besoin : J'ai une application qui tourne sur 100 sites avec du code VBA protégé (et j'ai le mot de passe) j'aimerai modifier le code source via une autre application. Kiki29 ma déja fourni le moyen de modifier un code source en employant du VBE. (http://www.developpez.net/forums/sho...d.php?t=391562)





    Mon problème : je n'arrive pas à trouver la ou les instructions pour déverrouiller le projet vba ?

    j'ai consulté le lien ci dessous
    http://www.developpez.net/forums/sho...t=vbe+password

    mais sans succès ! à l'execution de code de déverrouillage il me présente une boite de dialogue !



    voici les routines :
    ------------------
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Sub TestProtect() 
    ProtectVBProject Workbooks("Proteger_deproteger.xls"), "motdepasse" 
    End Sub 
     
    Sub TestUnprotect() 
    UnprotectVBProject Workbooks("Proteger_deproteger.xls"), "motdepasse" 
    End Sub 
     
    Sub UnprotectVBProject(WB As Workbook, ByVal Password As String) 
      Dim vbProj As Object 
     
      Set vbProj = WB.VBProject 
     
       If vbProj.Protection <> 1 Then Exit Sub 
     
      Set Application.VBE.ActiveVBProject = vbProj 
     
       SendKeys Password & "~~" 
      Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute 
    End Sub 
     
    Sub ProtectVBProject(WB As Workbook, ByVal Password As String) 
      Dim vbProj As Object 
     
      Set vbProj = WB.VBProject 
     
       If vbProj.Protection = 1 Then Exit Sub 
     
      Set Application.VBE.ActiveVBProject = vbProj 
     
     
      SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & _ 
    Password & "~" 
     
      Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute 
     
    End Sub
    qui a ressu a déverrouiller le code sans avoir de boite de dialogue avec un code vba qui fonctionne sur sur Excel vba 97 a 2003 ?


    Merci de votre contribution

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Enfin, j'ai trouvé un code simple voici les explications :


    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
     
        Dim Password    As string 
        Dim Wk          As Workbook
     
        Feuille ="TOTO.XLS"
        Password ="MASTER"   
        Set Wk = Workbooks(Feuille)
        '-----------------------
        '
        If Workbooks(Feuille).VBProject.Protection = vbext_pp_locked Then
            ' Ici le code est protégé.
            Set Application.VBE.ActiveVBProject = Workbooks(Feuille).VBProject
            SendKeys "{ENTER}" & Password & "{ENTER}{ESC}", True
           ' Ici le code est déprotégé
        End If

    Attention pour que l'application soit ouverte, il ne faut pas exécuter le code en mode pas à pas et pour cause l'instruction SendKeys sera perturbée par
    ce mode.




+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] comment Executer code VBA à partir du formulaire ?
    Par sarah12 dans le forum VBA Access
    Réponses: 0
    Dernier message: 23/07/2010, 13h20
  2. acceder au code vba à partir d'un fichier excel 2003 depuis 97
    Par miko91 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 18/10/2007, 16h01
  3. afficher un graphique dans word à partir de mon code vba
    Par guysocode dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/11/2005, 14h15
  4. Réponses: 3
    Dernier message: 06/09/2005, 10h27
  5. Comment creer une procédure stockée à partir d'un code VBA?
    Par Alcor020980 dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 19h55

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