(...)
ActiveWorkbook.SaveAs Filename:= _
'ma_feuille.xls', FileFormat:=xlNormal, Password:='mon_code', WriteResPassword:='', ReadOnlyRecommended:= _False, CreateBackup:=False
rep = MsgBox(' suppression de la macro d'ouverture ?', vbYesNo, ';-D')
If rep = 6 Then Application.Run ''Delete_macro_selection''
End Sub
Sub Delete_macro_selection()
Dim WB As Workbook
Dim Code As Object
Dim NomProc As String, NomModule As String
Dim DebCode As Integer, LongCode As Integer, VBext_Pk_Proc As Long
On Error GoTo FirstError
Set WB = Workbooks('ma_feuille.xls')
NomProc = 'auto_open'
NomModule = 'Module1'
On Error GoTo SecondError
Set Code = WB.VBProject.VBComponents(NomModule).CodeModule
DebCode = Code.ProcStartLine(NomProc, VBext_Pk_Proc)
LongCode = Code.ProcCountLines(NomProc, VBext_Pk_Proc)
Code.DeleteLines DebCode, LongCode
Exit Sub
FirstError:
If Err = 9 Then MsgBox 'Classeur recherché pas ouvert'
Exit Sub
SecondError:
If Err = 9 Then MsgBox NomModule & ' Module non trouvé'
If Err = 35 Then MsgBox NomProc & ' Macro pas trouvée'
End Sub
Message édité par: olivierd, à: 30/03/2005 11:15