Private Sub CommandButton2_Click()
Dim wk As Workbook, obj As OLEObject, nf, no$
Dim i&
Dim j&
Dim N As Name
Dim MonNom$
Dim R As Range
Application.ScreenUpdating = False
For i& = 1 To 3 'nombre de noms Tab_
MonNom$ = "Tab_" & i&
Feuil1.Copy
Set wk = ActiveWorkbook
For Each obj In wk.ActiveSheet.OLEObjects
If TypeOf obj.Object Is MSForms.CommandButton Then
obj.Delete
End If
Next
For Each N In wk.Names
If N.Name <> MonNom$ Then
On Error Resume Next
Set R = N.RefersToRange
R.Delete
N.Delete
On Error GoTo 0
End If
Next N
wk.ActiveSheet.Name = _
"T" & i& & "_" & Format(Date, "dd-mm-yyyy_") & Format(Time, "h-mm-ss"): no = wk.ActiveSheet.Name
nf = _
Application.GetSaveAsFilename( _
no & ".xls", _
"FICHIER EXCEL(*.xls), *.xls", 1, _
"Sauvegarde personnalisée")
If nf <> False Then
MsgBox "Classeur enregistré dans : " & nf, _
vbInformation + vbOKCancel, _
"AFFICHAGE DU REPERTOIRE DE SAUVEGARDE"
End If
wk.SaveAs nf
wk.Close True
Next i&
Application.ScreenUpdating = True
End Sub