Sub Consolider()
Dim chemin, liste, nf%, n%, fichier, wb As Workbook, P As Range, ncol%, Q As Range, tabloP, tabloQ, i&, j%
chemin = ThisWorkbook.Path & "\" 'à adapter
liste = Array("Donnees1.xlsx", "Donnees2.xlsx") 'liste à adapter
Application.ScreenUpdating = False
On Error Resume Next 'si un fichier n'est pas trouvé
With ThisWorkbook
    nf = .Worksheets.Count
    '---RAZ---
    For n = 1 To nf
        .Worksheets(n).UsedRange.Clear
    Next n
    '---ouvertures et vérifications---
    For Each fichier In liste
        Set wb = Nothing
        Set wb = Workbooks.Open(chemin & fichier)
        If wb Is Nothing Then MsgBox "'" & chemin & fichier & " ' introuvable...": GoTo 1
        If wb.Worksheets.Count <> nf Then MsgBox "Les fichiers n'ont pas le même nombre de feuilles !", 48: GoTo 1
    Next fichier
    '---copies et sommes---
    For Each fichier In liste
        For n = 1 To nf
            Set P = Workbooks(fichier).Worksheets(n).UsedRange
            If P.Count = 1 Then Set P = P.Resize(2) 'au moins 2 éléments
            ncol = P.Columns.Count
            Set Q = .Worksheets(n).Range(P.Address)
            tabloP = P: tabloQ = Q 'matrices, plus rapides
            For i = 1 To UBound(tabloP)
                For j = 1 To ncol
                    If IsNumeric(CStr(tabloP(i, j))) And IsNumeric(tabloQ(i, j)) Then _
                        tabloQ(i, j) = tabloQ(i, j) + tabloP(i, j) Else tabloQ(i, j) = tabloP(i, j)
            Next j, i
            P.Copy Q 'pour copier les formats
            Q = tabloQ 'restitution
    Next n, fichier
End With
1 '---fermeture des fichiers---
For Each fichier In liste
    Workbooks(fichier).Close False
Next fichier
End Sub