Sub Consolider()
Dim chemin$, fichier$, P As Range, nlig&, ncol%, tablo, i&, nom As Range, j%, titre As Range, v
chemin = ThisWorkbook.Path & "\" 'dossier de recherche
fichier = Dir(chemin & "*.xlsx") '1er fichier .xlsx du dossier
Set P = [E4].CurrentRegion
nlig = P.Rows.Count
ncol = P.Columns.Count
Application.ScreenUpdating = False
If nlig > 1 And ncol > 1 Then P(2, 2).Resize(nlig - 1, ncol - 1) = "" 'RAZ
tablo = P.Resize(nlig + 1) 'matrice, plus rapide, au moins 2 éléments
While fichier <> ""
With Workbooks.Open(chemin & fichier).Sheets(1) 'ouvre le fichier
For i = 2 To nlig
Set nom = .Cells.Find(tablo(i, 1), , xlValues, xlWhole)
If Not nom Is Nothing Then
For j = 2 To ncol
Set titre = .Cells.Find(tablo(1, j))
If Not titre Is Nothing Then
v = .Cells(nom.Row, titre.Column)
If IsNumeric(v) Then tablo(i, j) = tablo(i, j) + CDbl(v)
End If
Next j
End If
Next i
.Parent.Close False 'ferme le fichier
End With
fichier = Dir 'fichier suivant
Wend
'---restitution---
P = tablo
End Sub