Option Explicit
Private Sub Workbook_Open()
Dim NomFic As String, TR(), L&, Wbk As Workbook, Wsh As Worksheet
ReDim TR(1 To 5000, 1 To 2)
NomFic = Dir(ThisWorkbook.Path & "\*.xlsx")
Do While NomFic <> ""
If NomFic <> ThisWorkbook.Name Then
Set Wbk = Workbooks.Open(ThisWorkbook.Path & "\" & NomFic)
Set Wsh = Wbk.Worksheets(1)
L = L + 1
TR(L, 1) = Wsh.[D4].Value
TR(L, 2) = Wsh.[B8].Value
Wbk.Close SaveChanges:=False
End If
NomFic = Dir(): Loop
Me.Worksheets(1).[A1].Resize(5000, 2).Value = TR
End Sub