Bonjour Thierry et au forum
Je te remercie pour la réponse mais j'ai un petit problème.
A chaque mois, j'archive trois fichiers (compilation mensuelle, historique cartierville et historique ste-rose).
J'ai intégré ton code dans la procédure suivante et j'ai un message d'erreur avec la ligne suivante: Wbk.VBProject.VBComponents
Existe-il une autre façon pour effacer le code qui se trouve dans les nouveaux fichiers ?
Private Sub CommandButton1_Click()
'Code pour le transfert du choix du combobox1 vers la cellule H1
Dim ChoixMois As String
With Sheets("Menu")
If Me.ComboBox1 <> "" Then
End If
.Range("H1") = Me.ComboBox1
End With
With ComboBox1
.Value = ""
.SetFocus
End With
ChoixMois = Range("H1")
'Code pour la msgbox
Dim Msg, Style, Title, Response, MyString
Msg = "Michel" & Chr(10) & Chr(10) & " Veux-tu archiver les données du mois de " & ChoixMois & " ? "
Style = vbYesNoCancel + vbQuestion + vbDefaultButton2
Title = "© JEAN PLANTE - Backup du dernier mois "
Response = MsgBox(Msg, Style, Title)
'Code si la réponse est OUI
If Response = vbYes Then
MyString = "Oui"
Workbooks.Open Filename:="C:\Laiterie Michel\Historique Cartierville.xls"
Workbooks("Historique Cartierville.xls").SaveAs ("C:\Laiterie Michel\backup 2004\" & ChoixMois & " Historique Cartierville")
Workbooks(ChoixMois & " Historique Cartierville.xls").Close
Workbooks.Open Filename:="C:\Laiterie Michel\Historique Ste-Rose.xls"
Workbooks("Historique Ste-Rose.xls").SaveAs ("C:\Laiterie Michel\backup 2004\" & ChoixMois & " Historique Ste-Rose")
Workbooks(ChoixMois & " Historique Ste-Rose.xls").Close
Workbooks("Compilation mensuelle.xls").SaveAs ("C:\Laiterie Michel\backup 2004\" & ChoixMois & " Compilation mensuelle")
Workbooks(ChoixMois & " Compilation mensuelle.xls").Close
Unload Me
'Code si la réponse est NON
ElseIf Response = vbNo Then
MyString = "Non"
Exit Sub
'Code si la réponse est ANNULER
Else
MyString = "Annuler"
Unload Me
Exit Sub
End If
'Code pour effacer les macro des fichiers archivés
Dim VBC As Object
Dim Wbk As Workbook
Set Wbk = Workbooks("C:\Laiterie Michel\backup 2004\" & ChoixMois & " Compilation mensuelle")
Wbk.VBProject.VBComponents
With Wbk.VBProject
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC
End With
End Sub
Encore une fois merci
Jean P