Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic dans l'onglet
If Target.Address = "$B$1" Then 'si le double-clic a lieu dans la cellule B1
Cancel = True 'évite le mode étition lié au double-clic
Range("D2:L2").Clear 'efface les "x: dans la ligne des critères
Range("A6:L" & Application.Rows.Count).Clear 'vide les éventuelles anciennes données
Exit Sub 'sort de la procédure
End If
'si le double-clic a lieu ailleurs que dans dans la plage D1:L1; sort de la procédure
If Application.Intersect(Target, Range("D1:L1")) Is Nothing Then Exit Sub
Cancel = True 'évite le mode étition lié au double-clic
Range("D2:L2").Clear 'efface les "x: dans la ligne des critères
Target.Offset(1, 0).Value = "x" 'met un "x" dans la cellule en-dessous de la cellue double-cliquée
Range("A6:L" & Application.Rows.Count).Clear 'efface d'éventuelles anciennes données
'filtre avancé du tableau [Tableau1], avec comme critère la cellule double-cliquée et la cellule en dessous, copie dans la plage A5:L5
Sheets("Participants").Range("Tableau1[#All]").AdvancedFilter xlFilterCopy, Range(Target, Target.Offset(1, 0)), Range("A5:L5"), Unique:=True
End Sub