Sub filtreArrayClé()
Set f = Sheets("Reservations")
Tbl1 = f.Range("A2:K" & f.[A65000].End(xlUp).Row).Value
clé = "Salle 3-5"
For i = 1 To UBound(Tbl1)
If Tbl1(i, 11) = clé Then n = n + 1
Next i
j = 0
Dim Tbl2: ReDim Tbl2(1 To n, 1 To UBound(Tbl1, 2))
For i = 1 To UBound(Tbl1)
If Tbl1(i, 11) = clé Then j = j + 1: For k = 1 To UBound(Tbl1, 2): Tbl2(j, k) = Tbl1(i, k): Next k
Next i
f.[M2].Resize(UBound(Tbl2), UBound(Tbl2, 2)) = Tbl2
End Sub
Sub EssaifiltreArrayFonctionCol()
Set f = Sheets("Reservations")
Tbl1 = f.Range("A2:K" & f.[A65000].End(xlUp).Row).Value
Tbl = FiltreArrayCléColRécup(Tbl1, "Salle 3-5", 11, Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
If Not IsEmpty(Tbl)...
Sub filtreArrayClé()
Set f = Sheets("Reservations")
Tbl1 = f.Range("A2:K" & f.[A65000].End(xlUp).Row).Value
clé = "Salle 3-5"
For i = 1 To UBound(Tbl1)
If Tbl1(i, 11) = clé Then n = n + 1
Next i
j = 0
Dim Tbl2: ReDim Tbl2(1 To n, 1 To UBound(Tbl1, 2))
For i = 1 To UBound(Tbl1)
If Tbl1(i, 11) = clé Then j = j + 1: For k = 1 To UBound(Tbl1, 2): Tbl2(j, k) = Tbl1(i, k): Next k
Next i
f.[M2].Resize(UBound(Tbl2), UBound(Tbl2, 2)) = Tbl2
End Sub
Sub EssaifiltreArrayFonctionCol()
Set f = Sheets("Reservations")
Tbl1 = f.Range("A2:K" & f.[A65000].End(xlUp).Row).Value
Tbl = FiltreArrayCléColRécup(Tbl1, "Salle 3-5", 11, Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
If Not IsEmpty(Tbl) Then f.[M12].Resize(UBound(Tbl), UBound(Tbl, 2) - LBound(Tbl, 2) + 1) = Tbl
End Sub
Function FiltreArrayCléColRécup(Tbl, clé, colClé, colRécup)
n = 0
For i = 1 To UBound(Tbl)
If Tbl(i, colClé) = clé Then n = n + 1
Next i
Dim Tbl2(): ReDim Tbl2(1 To n, LBound(colRécup) To UBound(colRécup))
n = 0
For i = 1 To UBound(Tbl)
If Tbl(i, colClé) = clé Then
n = n + 1
For k = LBound(colRécup) To UBound(colRécup): Tbl2(n, k) = Tbl(i, colRécup(k)): Next k
End If
Next i
If n > 0 Then FiltreArrayCléColRécup = Tbl2
End Function