re
La, les cellules sont figés (A1 et E17), mais la macro pourrais très bien géré une zone.
Exemple ( en fonction de ton classeur:
Au niveau de ta feuille dans le bandeau en haut tu fais
insertion,
nom,
definir
en haut tu écris " liste " ( c'est un exemple )
en bas tu écris pour la formule:
=decaler($a$1:$e$1;;;nbval($b$b))
ensuite dans la macro tu remplace:
Sub Macro2()
'tu remplace "Range("a1:e1") par Range("liste").
Range("liste").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"f1:f2"), CopyToRange:=Range("g1"), Unique:=False
End Sub