XL 2010 Déblocage mdp vba par macro

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous et à toutes,

Me revoici avec une nouvelle question que je n'arrive pas à résoudre.

Dans le fichier test, j'ai une super macro que j'avais récupéré sur le forum (encore un grand merci au passage) qui permet de détruire un classeur à une date choisie.

Ces trois codes fonctionnent parfaitement
dans le Thisworkbook :
Code:
Private Sub Workbook_Open()
If CLng(Date) > 200000 Then ' 42370 = 01/01/2016
    MsgBox ("Cliquez pour continuer")
   Call svba
   Call Fini2
End If
End Sub

dans un module :
Code:
Option Explicit

Sub Fini1()
   Dim objNB As Object
    Set objNB = Workbooks.Add
    With ThisWorkbook
        Open .Path & "\xx.bas" For Output As #1
        Print #1, "Sub Temp"
        Print #1, "Workbooks(" & """" & .Name & """" & ").Close False"
        Print #1, "Kill " & """" & .Path & "\" & .Name & """"
        Print #1, "Kill " & """" & .Path & "\xx.bas" & """"
        Print #1, "ThisWorkbook.Close False"
        Print #1, "End Sub"
        Close #1
    objNB.VBProject.VBComponents.Import Filename:=.Path & "\xx.bas"
    End With
    Application.OnTime Now(), objNB.Name & "!Temp"
End Sub

Sub Fini2()
    With ThisWorkbook
        .Save
        .ChangeFileAccess Mode:=xlReadOnly
        Kill .FullName
        .Close SaveChanges:=False
    End With
End Sub

Sub svba()
 
Dim VBComp As Object
Dim VBComps As Object
 
Set VBComps = ActiveWorkbook.VBProject.VBComponents
 
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
 
End Sub

Mon souci :

J'ai protégé VBA avec un mot de passe : fichier test = mdp
et la macro bloque si vba est protégé (ce qui est normal me semble-t-il) voire photo ci-dessous :
Sans titre.jpg

J'ai tenté de supprimer le mot de passe vba avec un code mais l'enregistreur de macro n'enregistre rien.

Existe-t-il un code à inclure dans le code du Thisworkbook qui permettrait de supprimer ce mot de passe ?

Merci encore une fois de vos bienveillantes attentions.

Bonne journée à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • TestDétruit.xlsm
    13.6 KB · Affichages: 26
  • TestDétruit - exécution bloquée.xlsm
    15.3 KB · Affichages: 29
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Déblocage mdp vba par macro

Bonjour arthour973,

Si, comme je pense l'avoir compris, tu parles de la protection du projet VBA as-tu essayé de supprimer le mot de passe manuellement?

Pour ce faire:

Dans l'éditeur VBE, Outils...Propriétés de VBAProject...Protection, puis tu supprimes les mots de passe.

A +

Cordialement.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Déblocage mdp vba par macro

Bonjour Papou-net,

Pas de souci pour le déprotéger manuellement.

Mon objectif est le suivant :
J'envoie ce fichier à bcp de gens et j'aimerais que ce fichier se détruise à une date de mon choix.
Bien évidemment, je ne vais pas leur donner le mot de passe.

Merci d'être encore présent,
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Déblocage mdp vba par macro

Re-Bonjour,

Dans mes recherches, j'ai fini par trouver un classeur qui est destiné à exécuter mon besoin.

Ce classeur, que je joins, a été posté sur le forum par etpisculrien (merci pour tous au passage).

Problème, je n'arrive pas à le faire fonctionner mais ça pourrait certainement faire avancer le sujet.

Amicalement,
Lionel,
 

Pièces jointes

  • deprotectionvba.xls
    38.5 KB · Affichages: 44

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Déblocage mdp vba par macro

Re-DoubleZero,

J'ai fait la modification et ça fonctionne bien.

Il reste un souci :

J'envoie mon classeur excel à bcp de gens et je souhaite qu'il s'auto-détruise à une date de mon choix.

En dé-protection vba me demande le mot de passe et je ne veux pas le donner bien sûr.
voire photo ci-dessous :
deprotectionvba.jpg

Je joins le classeur modifié.
Si vous pouviez me donner encore un coup de pouce, ça m'arrangerait bien :)

Avec mes remerciements,
Amicalement,
Lionel,
 

Pièces jointes

  • deprotectionvba.xls
    39.5 KB · Affichages: 38

DoubleZero

XLDnaute Barbatruc
Re : Déblocage mdp vba par macro

Re-bonjour,

... qu'il s'auto-détruise à une date de mon choix...

Un essai avec le code suivant (destruction = zéro mais fermeture = illico, selon date choisie) :

Code:
Option Explicit
Private Sub Workbook_Open()
    If Now >= DateValue("07/06/2016") Then ' date adapter
        Application.DisplayAlerts = False
        ThisWorkbook.Close False
        Application.DisplayAlerts = True
    End If
End Sub

ATTENTION : tester le code sur un fichier "cobaye" !

A bientôt :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Déblocage mdp vba par macro

Bonjour DoubleZero,
Bonjour Papou-net,
A toutes et à tous,

J'ai testé DoubleZero,(pas vous, la macro LOL :rolleyes:)

Et ça marche très bien.
En fait, c'était encore une incompréhension de ma part.
J'avais pensé que la macro allait supprimer la protection vba et ce n'est pas ça.
J'ai enfin compris que la macro débloque uniquement la protection.

Merci pour ce que vous faites,
Bonne journée à toutes et à tous,
Amicalement,
Lionel,
 

Discussions similaires

Réponses
2
Affichages
116

Statistiques des forums

Discussions
312 210
Messages
2 086 281
Membres
103 170
dernier inscrit
HASSEN@45