With O
Val1 = .Range("C1").Value 'type
Val2 = Month(.Range("F1").Value) & Year(.Range("F1").Value) 'date MOIS ET ANNEE
Val3 = .Range("C2").Value 'F1
Val4 = .Range("G4").Value 'F2
Val5 = .Range("C3").Value 'F3
For i = 1 To LastLig - 1
If Tb(i, 1) = Val1 And Month(Tb(i, 3)) & Year(Tb(i, 3)) = Val2 And Tb(i, 4) = Val3 And _
Tb(i, 18) = Val4 And Tb(i, 5) = Val5 Then
j = j + 1
ReDim Preserve RES(1 To 18, 1 To j)
'Le compteur est inscrit en 1ère ligne
RES(1, j) = j
RES(2, j) = Round(Tb(i, 7), 2)
RES(3, j) = Tb(i, 8)
RES(4, j) = Tb(i, 9)
RES(5, j) = Tb(i, 10)
RES(6, j) = Tb(i, 11)
RES(7, j) = Tb(i, 12
RES(8, j) = Tb(i, 13)
RES(9, j) = Tb(i, 14)
RES(10, j) = Tb(i, 15)
RES(11, j) = Tb(i, 16)
RES(12, j) = Tb(i, 17)
End If
Next i
LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
If LastLig > 8 Then .Range("A8:M" & LastLig).Clear
'on transfère le transposé de Res
If j > 0 Then .Range("A8").Resize(j, 18) = Application.Transpose(RES)
End With