Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&, j&, k&, Tabreport(), NbrCol&
NbrCol = 5 ' Nombre de colonnes à copier
If Not Intersect(Target, Cells(2, 1)) Is Nothing Then
With Sheets("Base de donnée")
For i = 5 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 5) = Target.Value Then
k = k + 1
ReDim Preserve Tabreport(1 To NbrCol, 1 To k)
For j = 1 To NbrCol
Tabreport(j, k) = .Cells(i, j)
Next j
End If
Next i
End With
Range(Cells(5, 1), Cells(Rows.Count, NbrCol).End(xlUp).Offset(1, 0)).ClearContents
If k > 0 Then Cells(5, 1).Resize(k, NbrCol) = Application.Transpose(Tabreport)
End If
End Sub