1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub ExportByAdvancedFilter()
Const myFormula As String = "=YEAR(E2)=2010"
Dim areaData As Range, areaCriteria As Range, areaTarget As Range
Dim CounterFiltered As Long
With shtSource ' CodeName de la feuille
Set areaData = .Range("A2").CurrentRegion
Set areaCriteria = shtSource.Range("M1:M2")
.Range("M2") = myFormula ' Ecrit le critère calculé
End With
CounterFiltered = Application.DCountA(areaData, areaData.Resize(1, 1), areaCriteria)
MsgBox IIf(CounterFiltered, CounterFiltered & " lignes à exporter", "Aucune ligne à exporter")
Set areaTarget = shtTarget.Range("A1")
shtTarget.Cells.Clear
areaData.AdvancedFilter xlFilterCopy, areaCriteria, areaTarget
Set areaData = Nothing: Set areaCriteria = Nothing: Set areaTarget = Nothing
End Sub |
Partager