1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub EssaifiltreArrayFonctionCol()
Set f = Sheets("bd")
Tbl1 = f.Range("A2:D" & f.[A65000].End(xlUp).Row).Value
Tbl = FiltreArrayCléColRécup(Tbl1, "Paris", 3, Array(1, 3, 4))
If Not IsEmpty(Tbl) Then f.[G2].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 |
Partager