J
Jeff
Guest
Voilà, je souhaite que ma macro ouvre chaque fichier excel d'un répertoire donné (myRep), copie l'ensemble des données (colonne 1 à 4) à partir de la ligne 2, et les colle les uns à la suite des autres dans le fichier principal (Prix_recus.xls)
J'ai abouti à ça:
myFile = ActiveWorkbook.Name
Workfile = Dir(myRep & '*.xls')
Dim plage As Range, ici As Range, cel As Range
Do While Workfile <> ''
Application.StatusBar = 'Traitement du fichier ' & Workfile
Workbooks.Open Filename:=myOrt & Workfile
I = Sheets('Feuil1').Range('A65536').End(xlUp).Row
'Plage source
Set plage = Sheets('Feuil1').Range('A2:A' & I)
'Plage de destination
Set ici = Workbooks('Prix_Recus.xls').Sheets('Feuil2').Range('A2')
For Each cel In plage.Offset(0, 4)
cel.EntireRow.Copy Destination:=ici
Set ici = ici.Offset(1, 0)
Next cel
ActiveWorkbook.Save: Windows(Workfile).Close
Windows(myFile).Activate
Workfile = Dir()
Loop
MsgBox ('Done')
Ca ne fonctionne pas, et je me tourne vers vos idées pour faire tourner tout ça correctement.
Merci par avance à tous,
Jeff
J'ai abouti à ça:
myFile = ActiveWorkbook.Name
Workfile = Dir(myRep & '*.xls')
Dim plage As Range, ici As Range, cel As Range
Do While Workfile <> ''
Application.StatusBar = 'Traitement du fichier ' & Workfile
Workbooks.Open Filename:=myOrt & Workfile
I = Sheets('Feuil1').Range('A65536').End(xlUp).Row
'Plage source
Set plage = Sheets('Feuil1').Range('A2:A' & I)
'Plage de destination
Set ici = Workbooks('Prix_Recus.xls').Sheets('Feuil2').Range('A2')
For Each cel In plage.Offset(0, 4)
cel.EntireRow.Copy Destination:=ici
Set ici = ici.Offset(1, 0)
Next cel
ActiveWorkbook.Save: Windows(Workfile).Close
Windows(myFile).Activate
Workfile = Dir()
Loop
MsgBox ('Done')
Ca ne fonctionne pas, et je me tourne vers vos idées pour faire tourner tout ça correctement.
Merci par avance à tous,
Jeff