Deprotection VBproject par code

Bonsoir a tous

dans un fichier que j'ai créer et diffusé très largement a des collègues j'ai fait une erreur dans une macro. je voudrais donc a partir d'un fichier appliquer un "patch" qui va aller corriger cette ligne de programmation.

Ce patch marche très bien sous Office 2007 mais je n'arrive pas a le faire fonctionner sous office 2010 32 bits et encore moins sur office 2010 64bits (mais ça c'est la cerise sur le gâteau).

pour pouvoir fonctionné excel doit être configuré de manière a ce que l'acces approuvé au modèle d'objet du projet VBA soit coché.

principe de fonctionnement du patch

ouverture du fichier de destination

de-protection du vba project par code (mot de passe : fred)

remplacement de la ligne posant problème

enregistrement

fermeture du fichier de destination.

et là ou cela bloc c'est sur la dé protection du vba project par code sur la version 2010 32 bits

ci joint un fichier test épuré et le fichier patch

SI l'un d'entre vous a une idée de pourquoi cela ne marche pas....

Merci

Fred

95fichier-test.xlsm (11.71 Ko)
134patch.xlsm (16.91 Ko)

Bonjour a tous

j'ai trouvé la solution et en plus cela fonctionne aussi pour les versions 64 bits....

seul petit problème on voit furtivement des fenêtres apparaître au moment de l’exécution du code...

si cela peut aider quelqu'un..

fred

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
Rechercher des sujets similaires à "deprotection vbproject code"