Re-,
Ce résultat est le produit d'une macro, développée en Visual Basic for Applications (VBA)
Si tu n'as aucune notion, cela risque d'être compliqué.....
Pour regarder le code, tu fais Alt + F11, et là tu vois le code.
Le principe que j'ai pris, c'est de faire l'extraction à partir du filtre élaboré.
Le code :
Sub homme_femme() 'nom de la procédure
Application.ScreenUpdating = False ' on évite le rafraichissement de l'écran (gain en temps et en confort des yeux)
Dim pl As Range ' on déclare la variable pl comme une cellule ou zone de cellule
Set pl = Sheets("Feuil1").Range("A1:H" & Sheets("Feuil1").[A65000].End(xlUp).Row)
' on détermine la plage entre A1 et Hxx, xx étant la dernière cellule non vide de la colonne A
pl.Name = "base" ' on donne à la plage le nom de "base"
[K1] = [D1] 'on recopie la cellule D1 en K1, pour la zone de critères
For Each sh In Array("Femme", "Homme") ' pour chaque onglet
[K2] = IIf(sh = "Femme", "f", "m") 'K2, le critère est égal à f si le nom est Femme, m autrement
With Sheets(sh) 'avec la feuille nommée (soit Femme, soit Homme, c'est une boucle)
Range("base").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("K1:K2"), CopyToRange:=.Range("A1:H1") _
, Unique:=False 'Ici, on applique le filtre élaboré, on extrait de la zone "base" vers la zone d'extraction (de A1 à H1) de la feuille (soit Femme, soit Homme)
End With 'pour terminer le With
Next sh 'on passe à la suivante feuille
[K1:K2].ClearContents 'on efface la zone de critères
End Sub