Boucle Extraire donnés d'un fichier dans onglet de même nom

JVOS

XLDnaute Junior
Bonjour à tous
J'ai plusieurs fichiers sources qui se nomment 1, 2, 3.
Chaque ficher à une seule Feuille. Tous les fichiers sont dans un seul dossier.
Je dois récupérer dans un fichier Cible les colonnes "A:D" de chaque fichier dans la feuille ayant le même nom que le fichier source.
En pratique :
J'ouvre mon Fichier ("1")
Je sélectionne mes colonnes ("A:D")
J'active mon fichier Cible
Je colle en B1 dans la Feuille ("1")
Je ferme le Fichier ("1")
Et je passe au suivant avec le Fichier ("2") et Feuille ("2") du fichier cible.

J'ai pas beaucoup d’expérience en VBA et j'ai pas pu aboutir
Aidez moi svp

Private Sub Workbook_Open()

Chemin = "C:\Users\HP\Documents\TEST"
Fichier = Dir(Chemin & "*.xlsx")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Range("A:D").Select
Selection.Copy
ThisWorkbook.Activate
ActiveSheet.Paste Destination:=Worksheets(Fichier).Range("B1")
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
Fichier = Dir ' Fichier suivant
Loop

End Sub
 

SebSemdee

XLDnaute Nouveau
Bonjour SebSemdee
J'ai installé PowerQuery
Mais mes fichiers .xls ne peuvent être ouvert car « La table externe n'est pas dans le format attendu. »
Il y a des entête de colonne vide
Cd
Nommer de façon identique l'onglet et la table de données des fichiers. Avoir exactement les mêmes colonnes
J'ai mis en place une requête qui aspire les données d'un répertoire dans lequel sont déversés 10 fichiers Excel chaque jour. J'ai aujourd'hui plus de 300 fichiers, la requête aspire les data en qques secondes sans aucune macro
 

Staple1600

XLDnaute Barbatruc
Re, Bonjour SebSemdee

JVOS
Choisis ton camp, camarade! ;)
Soit tu optes pour le Maquereau Visuel et Basic
Soit tu prends le chemin de la Requête Omnipotente
;)

NB: je traduis à mon gôut: VBA et PowerQuery
Je te laisse deviner quoi traduit quoi ;)

PS: Pour la macro, un biais est de mettre ton classeur où tourne la macro ailleurs que là où sont les classeurs *.xls ;)
 

SebSemdee

XLDnaute Nouveau
Re, Bonjour SebSemdee

JVOS
Choisis ton camp, camarade! ;)
Soit tu optes pour le Maquereau Visuel et Basic
Soit tu prends le chemin de la Requête Omnipotente
;)

NB: je traduis à mon gôut: VBA et PowerQuery
Je te laisse deviner quoi traduit quoi ;)

PS: Pour la macro, un biais est de mettre ton classeur où tourne la macro ailleurs que là où sont les classeurs *.xls ;)
Au-delà du goût l'essentiel est peut-être dans la rapidité de traitement, sachant que construire la requête omnipotente présente l'avantage d'être là aussi simple et rapide
 

SebSemdee

XLDnaute Nouveau
JVOS,

Mettre vos fichiers sources dans un répertoire que vous nommerez SOURCES JVOS ici -->C:\Users\HP\Documents\TEST\SOURCES JVOS

Mettre le fichier joint comportant la requête power query dans C:\Users\HP\Documents\TEST\

Apporter vos mises à jour dans chacun de vos trois fichiers sources puis ACTUALISER LES DONNEES.

Avez-vous activer les Compléments COM ? (c'est très simple à faire dans les options Excel)

Bien à vous
 

Pièces jointes

  • POWERQUERY FOR JVOS.xlsx
    115.2 KB · Affichages: 2

JVOS

XLDnaute Junior
Re, Bonjour SebSemdee

JVOS
Choisis ton camp, camarade! ;)
Soit tu optes pour le Maquereau Visuel et Basic
Soit tu prends le chemin de la Requête Omnipotente
;)

NB: je traduis à mon gôut: VBA et PowerQuery
Je te laisse deviner quoi traduit quoi ;)

PS: Pour la macro, un biais est de mettre ton classeur où tourne la macro ailleurs que là où sont les classeurs *.xls ;)
Merci
Je pensais que les fichiers sources et cible devaient être dans le même dossier
Super
 

Discussions similaires

Réponses
4
Affichages
491
Réponses
5
Affichages
377

Statistiques des forums

Discussions
311 733
Messages
2 082 011
Membres
101 866
dernier inscrit
XFPRO