Bonjour, salut cousinhub,
Une variante, même principe
Sub FiltreQuantités()
Dim Lg&, f1 As Worksheet, f2 As Worksheet
Application.ScreenUpdating = False
Set f1 = Sheets("Bon de commande A")
Set f2 = Sheets("Bon de commande B")
With Sheets("Récapitulatif")
.Columns("b:d").Clear
.Range("k2") = "=d3<>""""" 'critère filtre
'--- COMMANDE A ---
.Range("b3") = "COMMANDE A"
f1.Range("b2:d" & f1.[b65000].End(xlUp).Row) _
.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
.Range("k1:k2"), CopyToRange:=.Range("b4:d4"), Unique:=False
'--- COMMANDE B ---
Lg = .Range("b" & Rows.Count).End(xlUp).Row + 2
.Range("b" & Lg) = "COMMANDE B"
f2.Range("b2:d" & f2.[b65000].End(xlUp).Row) _
.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
.Range("k1:k2"), CopyToRange:=.Range("b" & Lg + 1 & ":d" & Lg + 1), Unique:=False
.Range("k2").ClearContents
End With
End Sub
Amicalement
Claude