/ / VBA boucle dans les classeurs + copier / coller - excel, vba, boucles, copier-coller

Boucle VBA dans les classeurs + copier-coller - excel, vba, boucles, copier-coller

Je voudrais prendre des données de différents classeurs (qui ont la même structure) et créer une boucle pour copier-coller les données récupérées dans le classeur actif. J'ai essayé mais ça ne marche pas.

Sub loopMacro()
Dim Wb1 As Workbook, Wb2 As Workbook, Wb3 As Workbook
Dim MainBook As Workbook

"Open all workbooks:
Set Wb1 = Workbooks.Open("D:VBAfile1.xlsx")
Set Wb2 = Workbooks.Open("D:VBAfile2.xlsx")
Set Wb3 = Workbooks.Open("D:VBAfile3.xlsx")
Set MainBook = ThisWorkbook

For i = 1 To 3
For j = A To C
WB(i).Sheets("sheet1").Range("E4").Copy
MainBook.Sheets("DATA").Range(j & "1").PasteSpecial
WB(i).Sheets("sheet1").Range("E5").Copy
MainBook.Sheets("DATA").Range(j & "2").PasteSpecial
Next j
Next i

MainBook.Save
MainBook.Close End Sub

Fondamentalement, la macro doit prendre les données defeuille 1 - cellules E4 et E5 de Wb1, Wb2, Wb3 ... et imprimer les données de Wb1 dans le classeur actif (cellules A1 et A2), les données de Wb2 dans les cellules B1 et B2, les données de Wb3 dans les cellules C1 et C2. Quelqu'un peut aider?

Réponses:

0 pour la réponse № 1

Votre problème est que WB (i) ne donne pas Wb1, Wb2 etc.

Remplace le for i avec

For Each wb In Array(Wb1, Wb2, Wb3)

et puis tout wb(i) avec wb