Ajouter des files text avec Multiselect – VBA Excel

J'essaie de coder quelque chose dans Excel VBA qui a l'air très facile, mais en fin de count, cela me rend fou.

Tout d'abord, excusez-moi pour ma langue anglaise. Voici la question:

L'objective du programme est d'utiliser la fonction multiselect pour charger plusieurs files de text brut, l'un après l'autre dans la même feuille de calcul. Ils doivent être chacun sous l'autre. J'ai géré le code pour les charger correctement une par une, mais je suis coincé avec la chose MultiSelect.

Le code n'ajoute pas les files, mais l'un à côté de l'autre (disons horizontalement) et pas verticalement dont j'ai besoin. Voici mon code:

Private Sub Prova_Multiselect_Click() Dim Fitxers As Variant Dim Msg As Ssortingng Dim I As Integer Dim destCell As Range Set destCell = Worksheets("PEDREC").Cells(Rows.Count, "A").End(xlUp).Offset(1) Fitxers = Application.GetOpenFilename(MultiSelect:=True, Title:="Choose txt files", FileFilter:="Text files *.txt (*.txt),") If IsArray(Fitxers) Then Set destCell = Worksheets("PEDREC").Cells(Rows.Count, "A").End(xlUp).Offset(1) Msg = "Files selected:" & vbNewLine For I = LBound(Fitxers) To UBound(Fitxers) With destCell.Parent.QueryTables.Add(Connection:="TEXT;" & Fitxers(I), Destination:=destCell) .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileCommaDelimiter = True .Refresh BackgroundQuery:=False End With Msg = Msg & Fitxers(I) & vbNewLine Next I MsgBox Msg Else MsgBox "No file selected." End If End Sub 

J'ai essayé et recherché, mais je n'ai pas trouvé la manière d'append tous les files dans la même colonne. Toute aide et idées seront les bienvenues! :RÉ

Merci d'avance!

Vous n'allez pas avancer destCell du tout pendant que vous boucliez, ce qui l'a laissé en permanence coincé en A2. Essayer:

  For I = LBound(Fitxers) To UBound(Fitxers) With destCell.Parent.QueryTables.Add(Connection:="TEXT;" & Fitxers(I), Destination:=destCell) .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileCommaDelimiter = True .Refresh BackgroundQuery:=False End With Msg = Msg & Fitxers(I) & vbNewLine Set destCell = destCell.Offset(1, 0) Next I