Bonjour,
à mon avis, avec ce code tu n'as pas la totalité de tes fichiers. chaque fois que tu utilises la commande dir, il te donne le fichier suivant dans le répertoire.
donc si tu fais
while dir<>"" ' il te prend un fichier
puis si tu fais
list_fichier(X)=dir ' il te mettra le suivant
dans list_fichier tu n'as donc qu'un fichier sur deux.
voici une proposition d'adaptation de ton code
Sub Button1_Click()
Dim lst_Fichiers(10) As String
Dim X As Integer
X = 0
nf = Dir(ThisWorkbook.Path & "\" & "*.xlsm")
While nf <> "" And X <= 9
lst_Fichiers(X) = nf
X = X + 1
nf = Dir
Wend
MsgBox lst_Fichiers(0) & vbCrLf & lst_Fichiers(1) & vbCrLf & lst_Fichiers(2) & vbCrLf & lst_Fichiers(3) & vbCrLf & lst_Fichiers(4) & vbCrLf & lst_Fichiers(5) & vbCrLf & lst_Fichiers(6)
End Sub