Sub array_cherche()
Dim ta, tb, derligne%, dercol%, i%, j%, n%
'-- suppression des données initiales sur la feuille compilation
Sheets("compilation").Rows("2:" & Sheets("compilation").Cells(Rows.Count, 1).End(3).Row + 1).ClearContents
A = Array("Région", "Département", "Année", "Mesure", "Lieux", "Ville", "Mois", "Type", "Age", "Résultat")
'-- balayage de toutes les feuilles (sauf la premiere)
For S = 2 To Sheets.Count
Sheets(S).Activate
'- construction du tableau tb (pour chaque feuille)
ta = Range("A1:T" & Sheets(S).Cells(Rows.Count, 1).End(3).Row)
derligne = Sheets(S).Cells(Rows.Count, 1).End(3).Row
dercol = Sheets(S).Cells(1, Columns.Count).End(1).Column
ReDim tb(1 To derligne, 1 To 10)
For i = 2 To derligne
For n = 0 To 9
For j = 1 To dercol
If ta(1, j) = A(n) Then
tb(i - 1, n + 1) = ta(i, j)
GoTo prochain:
Else
tb(i - 1, n + 1) = ""
End If
Next j
prochain:
Next n
Next i
'-- restitution dans la feuille compilation
derlcompilation = Sheets("compilation").Cells(Rows.Count, 1).End(3).Row
Sheets("compilation").Range("a" & derlcompilation + 1).Resize(derligne, 10) = tb
'-- on va à la prochaine feuille
Next S
Sheets("compilation").Activate
Range("L10").Select
End Sub