Problème macro compilation données
Bonjour,
j'ai un problème avec la macro que j'ai créée : elle consiste à compiler les données de classeur dans un autre classeur excel.
Sachant que les données des classeurs se situent dans un même dossier :les données de classeur se situent dans la même feuille et dans les mêmes ranges.
Le problème qui se passe c'est que lorsque je lance la macro, aucune donnée n'est copiée dans le nouveau classeur (le classeur de comilation n'étant pas dans le même dossier).
Est-ce que quelqu'un pourrait m'aider à corriger ma macro, svp.
Merci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub Compilation()
Dim WkCompil As Workbook
Dim WkFich As Workbook
Set WkCompil = ThisWorkbook
Range("D1").Select 'sélectionner la cellule de début du classeur de compilation de données
Chemin = "C:\Documents and Settings\f.martayan\Bureau\Test" 'Je spécifie le chemin d'accès où se trouve mes fichiers
fichier = Dir(Chemin & "*.xls") 'Premier fichier à ouvrir
Do While fichier <> "" 'Boucle sur tous les fichiers excel du dossier
Set WkFich = Workbooks.Open(Filename:=Chemin & fichier) 'Ouvrir le classeur où sont les cellules à copier
WkFich.Worksheets("Feuil1").Select 'Sélectionne la feuille 1 du classeur à copier
Range("A1:A8").Copy 'Copie du range
WkCompil.ActiveSheet.Paste 'je sélectionne le classeur où sera la compilation de données et je colle les cellules
WkFich.Activate
Application.CutCopyMode = False
WkFich.Close savechanges:=False
WkCompil.Activesheets.Cells
WkCompil.ActiveSheet.UsedRange.Rows.Count(1, 1).Select
fichier = Dir 'Fichier suivant
Loop
End Sub |
Compilation de données fin
Voilà, j'ai finalement adapté la solution que tu m'as donnée et cela marche, voici la macro complète : mes données sont copiées donc l'une après les autres dans des colonnes qui se suivent.
Merci beaucoup, je n'y serai pas arrivé sans votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Sub Compilation()
Dim WkCompil As Workbook
Dim WkFich As Workbook
Dim lrow As Long
Dim crow As Long
Set WkCompil = ThisWorkbook
Range("A1").Select 'sélectionner la cellule de début du classeur de compilation de données
chemin = "x:\MANAGEMENT DE LA QUALITE\63.00 Formation\Formation QSE\Test\" 'Je spécifie le chemin d'accès où se trouve mes fichiers
fichier = Dir(chemin & "\*.xls", vbHidden) 'Premier fichier à ouvrir
Do While fichier <> "" 'Boucle sur tous les fichiers excel du dossier
Set WkFich = Workbooks.Open(Filename:=chemin & fichier) 'Ouvrir le classeur où sont les cellules à copier
WkFich.Worksheets("Feuil1").Select 'Sélectionne la feuille 1 du classeur à copier
Range("A1:A8").Copy 'Copie du range
WkCompil.ActiveSheet.Paste 'je sélectionne le classeur où sera la compilation de données et je colle les cellules
WkFich.Activate
Application.CutCopyMode = False
WkFich.Close savechanges:=False
lrow = WkCompil.ActiveSheet.UsedRange.Columns.Count
WkCompil.ActiveSheet.Cells(1, lrow + 1).Select
fichier = Dir 'Fichier suivant
Loop
End Sub |