1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Option Explicit
Sub SauverSelonFiltre(sFiltre As String)
Dim lo As ListObject, sFileName As String
'--- filtrer - copier
Set lo = ThisWorkbook.Worksheets("Base").ListObjects("BaseArticles")
With lo.Range
.AutoFilter Field:=lo.ListColumns("Entité").Index, Criteria1:=sFiltre
.Copy
End With
'--- créer nouveau fichier - coller - sauver
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
sFileName = ThisWorkbook.Path & "\" & sFiltre & " " & Format(Date, "yyyy-mm-dd") & ".xlsx"
ActiveWorkbook.SaveAs Filename:=sFileName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
'--- défiltrer
lo.Range.AutoFilter Field:=lo.ListColumns("Entité").Index
Set lo = Nothing
End Sub |
Partager