Re
Je ne sais pas si cela peut t'aider,
Click droit sur la feuille resultat brute, et colle cette macro à la place de l'existante.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$F$2" Then
'Nomme les cellules de la colonne B
ActiveWorkbook.Names.Add Name:="liste", RefersToR1C1:= _
"=OFFSET('Resultat brut'!R2C2,,,COUNTA('Resultat brut'!C2)-1)"
'Nomme la liste qui servira à la zone déroulante
ActiveWorkbook.Names.Add Name:="liste1", RefersToR1C1:= _
"=OFFSET('Resultat brut'!R2C7,,,COUNTA('Resultat brut'!C7))"
'Nomme l'ensemble du tableau pour le filtre élaboré
ActiveWorkbook.Names.Add Name:="Choix", RefersToR1C1:= _
"=OFFSET('Resultat brut'!R2C2:R2C4,,,COUNTA('Resultat brut'!C2))"
'Efface la liste en colonne G
[liste1].ClearContents
'Filtre la liste de la colonne B sans doublon et la colle en G1
[liste].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("G1"), Unique:=True
'Tris la liste en Ordre ascendant
[liste1].Sort Key1:=Range("G2"), Order1:=xlAscending ', Header:=xlYes
'Copie sur la feuille TYPE
Range("Choix").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets( _
"RESULTAT BRUT").Range("F1:F2"), CopyToRange:=Sheets( _
"TYPE").Range("C2:D2"), Unique:=False
End If
End Sub
Elle permet de nommée plusieurs plages et de faire un premier filtre pour extraire les info unique de la colonne B pour les mettre en colonne G et ensuite il suffit de changer la valeur de la cellule F2 pour mettre en action