Compilation de plusieurs classeurs avec 1 feuil dans un classeur
bf78630
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Bf78630 -
Bf78630 -
Bonjour,
Je suis entrain d'essayer de compiler plusieurs classeurs situés dans le même dossier source, pour ramener toutes mes données sur un seul et même onglet d'un fichier de compilation.
Cependant lorsque j’exécute mon code j'obtiens l'erreur suivante : Erreur d'éxécution 1004 , erreur définie par l'application ou par l'objet
J'ai seulement le premier fichier du dossier ou se situe les fichiers à compiler qui s'ouvre
Merci beaucoup pour votre aide !
Je suis entrain d'essayer de compiler plusieurs classeurs situés dans le même dossier source, pour ramener toutes mes données sur un seul et même onglet d'un fichier de compilation.
Cependant lorsque j’exécute mon code j'obtiens l'erreur suivante : Erreur d'éxécution 1004 , erreur définie par l'application ou par l'objet
J'ai seulement le premier fichier du dossier ou se situe les fichiers à compiler qui s'ouvre
Sub recup()
Range("A1").Select 'sélectionner la cellule de début
Chemin = "C:\Users\ablancfo\Desktop\Fichier en cours\VBA OFS\TEST\A compiler\" 'saisir le chemin complet du dossier où se trouvent les fichiers
Fichier = Dir(Chemin & "*.xls") ' Premier fichier
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Range("export").Copy
ThisWorkbook.Activate
ActiveSheet.Paste
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Fichier = Dir ' Fichier suivant
Loop
End Sub
Merci beaucoup pour votre aide !
A voir également:
- Compilation de plusieurs classeurs avec 1 feuil dans un classeur
- Imprimer un classeur excel sur mac - Guide
- Classeur numérique gratuit - Télécharger - Bureautique
- Ce classeur comporte des liaisons avec une ou plusieurs sources externes - Forum Excel
- Étiquette classeur a imprimer gratuit excel - Forum Excel
- Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des classeurs sans macro ✓ - Forum Excel
2 réponses
Bonjour BF, bonjour le forum,
Essaie comme ça (nom des onglets à adapter) :
Si les fichiers source se trouvent dans la même dossier que le fichier destination tu peux simplifier CA avec :
Mais tu dois faire attention que le fichier destination ne soit pas inclus dans la boucle...
Essaie comme ça (nom des onglets à adapter) :
Sub recup() Dim CD As Workbook 'déclare la variable CD (Classeur Destination) Dim OD As Worksheet 'déclare la variable OD (Onglet Destination) Dim CA As String 'déclare la variable CA (Chemin d'Accès) Dim F As String 'déclare la variable F (Fichiers) Dim DEST As Range 'déclare la variable DEST (DESTination) Dim CS As Workbook 'déclare la variable CS (Classeur Source) Dim OS As Worksheet 'déclare la variable OS (Onglet Source) Set CD = ThisWorkbook 'définit le classeur destination CD Set OD = CD.Worksheets("Feuil1") 'définit l'onglet destination OD (à adapter à ton cas) CA = "C:\Users\ablancfo\Desktop\Fichier en cours\VBA OFS\TEST\A compiler\" 'définit le chemin d'accès CA F = Dir(CA & "*.xls") ' Premier fichier Do While F <> "" 'exécute tant qu'il existe des fichiers 'définit la cellule de destinatin DEST (A1, si A1 est vide, sinon, ;la premiere cellule vide de la colonne A de l'onglet OD Set DEST = IIf(OD.Range("A1").Value = "", OD.Range("A1"), OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)) Workbooks.Open F 'ouvre le fichier F Set CS = ActiveWorkbook 'définit le classeur source CS Set OS = CS.Worksheets("Feuil1") 'définit l'onglet source OS (à adapter à ton cas) OS.Range("export").Copy DEST 'copie la plage nommée export de l'onglet OS et la colle dans dest CS.Close savechanges:=False 'ferme le classeur source sans enregistrer les changements F = Dir ' Fichier suivant Loop 'boucle End Sub
Si les fichiers source se trouvent dans la même dossier que le fichier destination tu peux simplifier CA avec :
CA = CD.Path & "\"
Mais tu dois faire attention que le fichier destination ne soit pas inclus dans la boucle...
Hello TauTheme mille merci pour ta réponse je suis plutot debutant en VBA mais j'adore ça ! De plus un code completement commenté comme le tiens c'est du pain bénit pour moi ! :) je vais l'essayer également, car j'ai trouvé une autre solution qui consiste tout simplement à coller mon code dans un module VBA (et ça fonctionne!) alors qu'avant je le mettais juste dans la feuille VBA. Cpendant je ne suis pas sur de bien comprendre la différence entre ces deux endroits ou placer le code.
Toujours est il que ça n'est que le début de ce que je compte faire : l'exercice ici est de compiler plusieurs fichiers (environ 75 bons de commande) et de rajouter des informations en colonne sur la droite par rapport au nom du fichier (correspondant au nom du client ) à chaque copier coller. J'esperais pouvoir le faire en ajoutant des condition imbriquées. Est ce que cela te parait etre la bonne direction ? J'ai nomé mes fichiers "test1", "test2" ect si jamais tu as le temps d'éclairer ma lanterne, c'est avec plaisir que je te lirais !
En tout cas , MILLE MERCI !
Toujours est il que ça n'est que le début de ce que je compte faire : l'exercice ici est de compiler plusieurs fichiers (environ 75 bons de commande) et de rajouter des informations en colonne sur la droite par rapport au nom du fichier (correspondant au nom du client ) à chaque copier coller. J'esperais pouvoir le faire en ajoutant des condition imbriquées. Est ce que cela te parait etre la bonne direction ? J'ai nomé mes fichiers "test1", "test2" ect si jamais tu as le temps d'éclairer ma lanterne, c'est avec plaisir que je te lirais !
En tout cas , MILLE MERCI !