normal que cela ne fonctionne pas....
tu met tes éléments dans une variable séparée par un ;
donc dans la liste une seule proposition avec tous tes noms de fichiers les uns derrière les autres
tu modifie ton cahier des charges a chaque fois
au debut la liste des fichiers devait se trouver dans la feuille 2 a partir de A2, la tu essaye directement a partir d'un variable...
voici une proposition qui fait comme demandé initialement
cela supprime les données sur la feuille 2 avant d'aller lister les noms de fichiers présent dans le dossier
fred
Sub ListeFichiers2()
Sheets(2).[A1].CurrentRegion.ClearContents
Sheets(2).[A1] = "liste des fichiers"
repertoire = "C:\Users\a23peter43\Desktop\TEST"
nf = Dir(repertoire & "\*.dwg*")
Do While nf <> ""
Sheets(2).Range("A" & Sheets(2).Range("A65536").End(xlUp).Row + 1) = nf
nf = Dir ' suivant
Loop
With Sheets(1).[A1].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="='" & Sheets(2).Name & "'!$A$2:$A$" & Sheets(2).Range("A65536").End(xlUp).Row
End With
End Sub