Hello tout le monde,
Je me permets d'ouvrir un topic car je tente de réaliser une macro mais j'ai un petit problème .
L'idée : ouvrir tous les classeurs de mon dossier (c'est ok), copy / paste les lignes 14 à 27 des classeurs que j'ai open , refermer tous les classeurs (c'est ok) .
J'explique ce que je souhaite réaliser : copy / paste les lignes 14 à 27 de tous les classeurs ouverts dans un classeur vierge (celui contenant la macro) le problème est que je copy / paste les lignes du premier workbook puis du second mais le second écrase les données précédentes ! Je n'arrive pas à boucler de sorte que à chaque copy / past pour avoir l'intégralité des données de chaque classeur dans une feuille du new. Je pense qu'il faut utiliser un copy/paste au niveau de la destination qui stipulerait à partir de la derniere cellule vide mais j'ai un peu de mal .
Si quelqu'un peut m'aider et surtout m'expliquer , par avance merci !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub OpenFiles() Dim MyFolder As String Dim MyFile As String Dim lig As Integer Dim i As Integer Dim Wb As Workbook MyFolder = "C:\*****\Extract" MyFile = Dir(MyFolder & "\*.xls") Do While MyFile <> "" Workbooks.Open Filename:=MyFolder & "\" & MyFile For Each Wb In Application.Workbooks For lig = 14 To 27 Wb.Sheets(1).Cells(lig, 1).EntireRow.Copy For i = 1 To (27 - 14) * 4 ThisWorkbook.Sheets(1).Cells(i, 1).PasteSpecial Paste:=xlPasteValues Next i Next lig Next ActiveWorkbook.Close SaveChanges:=False MyFile = Dir Loop End Sub








Répondre avec citation
Partager