1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Function FiltreMultiCol2Transp2(Tbl, colClé1, Clé1, ColResult, Optional colClé2, Optional Clé2, Optional colClé3, Optional Clé3, Optional colClé4, Optional Clé4)
If Clé3 = "" Then colClé3 = colClé1: Clé3 = Clé1
If Clé4 = "" Then colClé4 = colClé1: Clé4 = Clé1
LB = LBound(ColResult) + 1: UB = UBound(ColResult) - LBound(ColResult) + 1
Dim b(): n = 0
For i = LBound(Tbl, 1) To UBound(Tbl, 1)
On Error Resume Next
If Tbl(i, colClé1) <= Clé1 And Tbl(i, colClé2) <= Clé2 And Tbl(i, colClé3) <= Clé3 And Tbl(i, colClé4) <= Clé4 Then
n = n + 1: ReDim Preserve b(LB To UB, 1 To n)
For c = LBound(ColResult) To UBound(ColResult)
'b(c + 1, n) = tbl(i, ColResult(c))
If IsNumeric(Tbl(i, ColResult(c))) Then
b(c + 1, n) = Format(Tbl(i, ColResult(c)), "0.00")
Else
b(c + 1, n) = Tbl(i, ColResult(c))
End If
Next c
End If
Next i
If n > 0 Then FiltreMultiCol2Transp2 = b
End Function |
Partager