Usine à gaz
XLDnaute Barbatruc
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 :
dans un module :
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 :
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,
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 :
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
Dernière édition: