Sub Application_filtre()
'DEFINIT UN ARRAY DYNAMIQUE
'Les données à intégrer dans l'array sont en: Sheets("Sequences").Columns("I2:I") jusque max I73 en ignorant les vides " "
' Stores all combinaisons in the workbook in the array variable MyCombinaisons()
Dim MyCombinaisons() As String ' declares a dynamic array variable
Dim iCount As Integer
Dim Max As Integer
Max = ThisWorkbook.Names.Count ' finds the maximum array size
'Max = Sheets("Sequences").Range("I2:I73").Names.Count ' finds the maximum array size
ReDim MyCombinaisons(1 To Max) ' declares the array variable with the necessary size
For iCount = 1 To Max
MyCombinaisons(iCount) = ThisWorkbook.Names(iCount)
'MyCombinaisons(iCount) = Sheets("Sequences").Columns("I:I").Names(iCount)
Next iCount
Erase MyCombinaisons() ' deletes the varible contents, free some memory
'Dim MyCombinaisons
'MyCombinaisons = Array("3.1.4", "3.1.5", "3.1.6")
'Applique le filtre
Sheets("Visualisateur").Activate
ActiveSheet.Range("$A$23:$AI$467").AutoFilter Field:=1, Criteria1:=MyCombinaisons, Operator:=xlFilterValues
'ActiveSheet.Range("$A$23:$AI$467").AutoFilter Field:=1, Criteria1:=Array( _
"3.1.4", "3.1.5", "3.1.6"), Operator:=xlFilterValues
End Sub