Sub ImporterFiltrer()
Dim t, F1 As Worksheet, F2 As Worksheet, chemin$, fichier$, n, c As Range
t = Timer
Set F1 = Sheets("Inférieur 0,4")
Set F2 = Sheets("Supérieur 0,4")
chemin = ThisWorkbook.Path & "\" 'dossier à adapter
fichier = Dir(chemin & "*.xlsx") '1er fichier du dossier
Application.ScreenUpdating = False
F1.Rows("5:" & Rows.Count).Delete 'RAZ
F2.Rows("5:" & Rows.Count).Delete 'RAZ
While fichier <> ""
With Workbooks.Open(chemin & fichier).Sheets(1)
n = n + 1
With .Range("B4:S" & .Cells.SpecialCells(xlCellTypeLastCell).Row)
.AutoFilter 'ôte le filtre automatique
.AutoFilter 7, ">0", xlAnd, "<=0.4"
Set c = F1.Cells(F1.Cells(F1.Rows.Count, 8).End(xlUp).Row + 1, 2)
.Copy c
c.EntireRow.Delete
.AutoFilter
.AutoFilter 7, ">0.4"
Set c = F2.Cells(F2.Cells(F2.Rows.Count, 8).End(xlUp).Row + 1, 2)
.Copy c
c.EntireRow.Delete
End With
.Parent.Close False
End With
fichier = Dir 'fichier suivant
Wend
MsgBox n & " fichiers importés et filtrés en " & Format(Timer - t, "0.00 \sec")
End Sub