voilà le nouveau code, mais une question : tu as vraiment 33 userforms dans ton fichier ? Et tu arrives à t'y retrouver ? A mon avis, tu en as pas loin de 30 en trop
Sub SauveEtSupprimeCode(Wbk As Workbook)
'Ti 07-01-04
Dim VBComp As VBComponent
On Error GoTo erreur
'suppression du code
With Wbk
For Each VBComp In .VBProject.VBComponents
If VBComp.Type = vbext_ct_Document Then
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Else
.VBProject.VBComponents.Remove VBComp
End If
Next VBComp
'on le sauvegarde
.Save
End With
Exit Sub
erreur:
MsgBox "Erreur !"
End Sub
'**************
Private Sub CommandButton5_Click()
Dim Wbk As Workbook, FichierSave As String
With Workbooks("Rapport.xls").Sheets(1)
FichierSave = .Range("Z2").Value & .Range("Z5").Value & _
UserForm33.Label21.Caption & ".xls"
End With
Set Wbk = Workbooks("Rapport_ext_7b_beta_test.xls")
Wbk.SaveAs FichierSave, , , "MDP"
SauveEtSupprimeCode Wbk
UserForm33.Hide
End Sub