Bonjour à tous,
Je cherche à créer une macro permettant d'importer des données issues de plusieurs fichiers sources (.xls) vers un fichier récapitulatif (xls)
Un dossier contient ces fichiers sources qui sont ajoutés manuellement.
La macro doit donc implémenter au fur et à mesure les lignes du fichier récap avec les données des fichiers sources ajoutés.
Voici la macro que j'ai trouvée et modifiée pour qu'elle réponde à mon besoin. Aucun bug ne s'affiche, le msgbox ajouté à la fin de la macro fonctionne, j'imagine donc que la macro entière devrait fonctionner... Mais ca n'est pas le cas!
Je ne connais plus ou moins rien en VBA, j'ai sans doute manqué une étape.. Pourriez-vous m'aider à y voir plus clair?
Merci d'avance !
Sub Importfiles()
'/Fichier récapitulatif, la feuille "données" de ce fichier
Set wbRecap = ThisWorkbook
Set wsRecap = wbRecap.Sheets("DONNEES")
Dim Fichier As String, Chemin As String
Dim Wb As Workbook
Chemin = "C:\Documents and Settings\Desktop\FNC"
Fichier = Dir(Chemin & "*.xls")
Do While wbSource <> «»
'/Ouvre le fichier actuel à importer
Set wbSource = Workbooks.Open(Chemin & Fichier)
'/Sélectionne la feuille de données à importer.
Set wksNewSheet = wbSource.Sheets("EVAL FNR ")
'/ Active cette feuille
wksNewSheet.Activate
wksNewSheet.Select
'/Sélection des données que l'on veut importer
Range("A4,F1,F3,D6,D7,F17, F25, F32, F39").Select
'/Copie les données sélectionnées
Selection.Copy
'/Retourne vers le fichier de départ
wbdest.Activate
'/Compte le nombre de lignes déjà utilisées dans ce fichier
i = ActiveSheet.UsedRange.Rows.Count
'/ Sélectionne la cellule où l'on veut coller les données (la première ligne vide)
Range("i+1,1, i+1,2, i+1,3, i+1,4,i + 1, 6, i + 1, 7, i + 1, 8").Select
'/Colle les données
ActiveSheet.Paste
'/Ferme le fichier source
wbSource.Close
'/Va vers le fichier suivant à importer
Fichier = Dir
'/Recommence avec le fichier suivant
Loop
wbRecap.Activate
MsgBox "OK"
End Sub
Je cherche à créer une macro permettant d'importer des données issues de plusieurs fichiers sources (.xls) vers un fichier récapitulatif (xls)
Un dossier contient ces fichiers sources qui sont ajoutés manuellement.
La macro doit donc implémenter au fur et à mesure les lignes du fichier récap avec les données des fichiers sources ajoutés.
Voici la macro que j'ai trouvée et modifiée pour qu'elle réponde à mon besoin. Aucun bug ne s'affiche, le msgbox ajouté à la fin de la macro fonctionne, j'imagine donc que la macro entière devrait fonctionner... Mais ca n'est pas le cas!
Je ne connais plus ou moins rien en VBA, j'ai sans doute manqué une étape.. Pourriez-vous m'aider à y voir plus clair?
Merci d'avance !
Sub Importfiles()
'/Fichier récapitulatif, la feuille "données" de ce fichier
Set wbRecap = ThisWorkbook
Set wsRecap = wbRecap.Sheets("DONNEES")
Dim Fichier As String, Chemin As String
Dim Wb As Workbook
Chemin = "C:\Documents and Settings\Desktop\FNC"
Fichier = Dir(Chemin & "*.xls")
Do While wbSource <> «»
'/Ouvre le fichier actuel à importer
Set wbSource = Workbooks.Open(Chemin & Fichier)
'/Sélectionne la feuille de données à importer.
Set wksNewSheet = wbSource.Sheets("EVAL FNR ")
'/ Active cette feuille
wksNewSheet.Activate
wksNewSheet.Select
'/Sélection des données que l'on veut importer
Range("A4,F1,F3,D6,D7,F17, F25, F32, F39").Select
'/Copie les données sélectionnées
Selection.Copy
'/Retourne vers le fichier de départ
wbdest.Activate
'/Compte le nombre de lignes déjà utilisées dans ce fichier
i = ActiveSheet.UsedRange.Rows.Count
'/ Sélectionne la cellule où l'on veut coller les données (la première ligne vide)
Range("i+1,1, i+1,2, i+1,3, i+1,4,i + 1, 6, i + 1, 7, i + 1, 8").Select
'/Colle les données
ActiveSheet.Paste
'/Ferme le fichier source
wbSource.Close
'/Va vers le fichier suivant à importer
Fichier = Dir
'/Recommence avec le fichier suivant
Loop
wbRecap.Activate
MsgBox "OK"
End Sub
Dernière édition: