Dim Area
Dim R
dim Tab_Temp()
With Range("t_" & YearSelect).ListObject 'Avec le Tableau de la base de Données
If Not (.DataBodyRange Is Nothing) Or .ListRows.Count = 0 Then 'Si Non Vide
If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData 'On supprime les filtres eventuels
With .Sort ‘On va trier le Tableau en fonction des Valeurs des Colonnes « Date » et « Arrivée »du Tableau Structuré
With .SortFields
.Clear
.Add2 Key:=Range("t_" & Year_Select).ListObject.ListColumns("Date").DataBodyRange, _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.Add2 Key:=Range("t_" & Year_Select).ListObject.ListColumns("Arrivée").DataBodyRange, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End With 'SortFields
.Header = xlYes ' Le tableau contient des en-têtes
.Apply
End With 'Sort
'**************************************************************
With .Range 'On va Filtrer en fonction de 2 Dates
.AutoFilter Field:=Range("t_" & Year_Select).ListObject.ListColumns("Date").Index, _
Criteria1:=">=" & DateDebut, _
Operator:=xlAnd, _
Criteria2:="<=" & DateFin
End With 'Range
'**************************************************************
' Vérifier si des lignes sont retournées par le filtre
If .DataBodyRange.Height > 0 Then ‘s’il y a au moins une ligne en résultat du Filtre « .Height > 0 »
' Parcourir chaque zone filtrée
For Each Area In .DataBodyRange.SpecialCells(xlCellTypeVisible).Areas
For Each R In Area.Rows ‘Parcourir les Lignes de chaque Zone filtrée pour récupérer les données
Col = Col + 1
ReDim Preserve Tab_Temp(1 To .ListColumns.Count , 1 To Col) 'On redimensionne le Tableau ' ‘Parcourir les colonnes de "t_xxxx" pour récupérer les valeurs
For L = 1 To .ListColumns.Count 'Pour chaque Colonnes
Tab_Temp(L , Col)=R.Cells(L) 'pour l'exemple
Next
Next R
Next Area