Sub MAJ()
Dim chemin$, fichier$, feuille$, ncol%, lig&, f$, derlig As Variant, ad$
chemin = ThisWorkbook.Path & Application.PathSeparator 'à adapter événtuellement
fichier = Dir(chemin & "*.xlsm") '1er fichier du dossier
feuille = "Feuil1" 'nom de la feuille à copier dans les fichiers
Application.ScreenUpdating = False
With Feuil1 'CodeName de la feuille des résultats, à adapter
    .Rows("2:" & Rows.Count).Delete xlUp 'RAZ
    ncol = .[A1].CurrentRegion.Columns.Count
    lig = 2
    While fichier <> ""
        If fichier <> ThisWorkbook.Name Then
            f = "'" & chemin & "[" & fichier & "]" & feuille & "'!"
            derlig = ExecuteExcel4Macro("MATCH(9^99," & f & "R1C1:R1048576C1)")
            If IsNumeric(derlig) Then
                If derlig > 1 Then
                    ad = .Cells(2, 1).Resize(derlig - 1, ncol).Address
                    With .Cells(lig, 1).Resize(derlig - 1, ncol)
                        .FormulaArray = "=" & f & ad 'formule de liaison matricielle
                        .Value = .Value 'supprime la formule
                    End With
                    lig = lig + derlig - 1
                End If
            End If
        End If
        fichier = Dir 'fichier suivant
    Wend
    .UsedRange.Replace 0, "", xlWhole 'supprime les zéros
    .Columns.AutoFit 'ajustement largeurs
End With
End Sub