Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Copier automatiquement les données à partir de plusieurs classeurs

re4

XLDnaute Occasionnel
Bonjour,
Dans un répertoire il y a un certain nombre de fichiers CVS avec pour nom de fichier par exemple cette syntaxe :
Fichier-id-10.cvs
Fichier-id-15.cvs
etc...

Les données de ces classeurs sont toujours aux mêmes endroits mais pas les mêmes
Exemple
Fichier-id.10.CSVFichier-id15.CSV
En A1 : image id : 10En A1 ; image id : 15
En A2 : Nom : xxEn A2 : Nom : yyy

L'idée est de recopier (en incrémentant les lignes) les données de ces fichiers dans une seule feuille d'un nouveau classeur.
Ce que je ne sais pas faire est à partir de ce nouveau classeur d'aller chercher automatiquement les données de tous les fichiers CVS (en les ouvrant ou pas)
(c'est l'automatisme qui me pose problème)
Résultat attendu :


Merci pour votre aide
 

R@chid

XLDnaute Barbatruc
Bonjour,
pense à utiliser power query, c'est un très bon outil, heureusement t'es sous Excel 2019, tu peux alors en profiter.
Si tu n'arrives pas à le faire, tu dois nous joindre 3 fichiers CSV sans données confidentielles pour que l'on puisse t'aider.
 

re4

XLDnaute Occasionnel
Bonjour,
Je ne connaissais pas power query, ça a l'air très efficace en cherchant un peu qq tutos je n'ai pas trouvé pour l'instant comment mettre en colonne que les 2 premières lignes (voir exemple classeurs 1,2,3)
remplacer txt par csv
Classeurs 1,2,3 csv les données à extraires et le classeur compil l'attendu.
il y aura entre 40 à 50 classeurs ...
Merci
 

Pièces jointes

  • classeur complé.xlsx
    9.9 KB · Affichages: 15
  • Classeur-1.txt
    57 bytes · Affichages: 7
  • Classeur-2.txt
    57 bytes · Affichages: 5
  • Classeur-3.txt
    57 bytes · Affichages: 4

merinos

XLDnaute Accro
Salut re4,

J'ai fait un premier jet...

Dans l'editeur de query, tu dois donner le chemin d'acces...




Tu trouveras 3 query et 2 fonctions.

Tables et Headers ont servi a créer les fonctions

Downloads :
recherche les fichiers
selectionne les ".txt" puis les "Classeur*.*".
ajoute de colonnes de type tables avec les 2 fonctions... puis les ouvre.
C'est fini.

tu trouvera ma méthode et les explications.
 

Pièces jointes

  • classeur complé.xlsx
    20.4 KB · Affichages: 6

re4

XLDnaute Occasionnel
Bonjour
Merci beaucoup, ça marche avec les fichiers que j'ai envoyé, malheureusement les originaux sont un plus complexes (je ne peux pas les envoyer pour l'instant)
Je vais essayer de comprendre mais c'est nouveau pour moi
Encore merci
 

merinos

XLDnaute Accro
transformer un query en fonction est simple : tu ajoute la premeiere ligne (le nom de la fonction en interne avec les parametres transmis, ici seulement le nom du fichier) et la fin afin de fermer la fonction. et tu changes le nom du fichier a importer pour prendre le parametre.
 

re4

XLDnaute Occasionnel
Merinos,
Je viens juste de recevoir le fichier original que j'ai anonymisé, désolé il est un peu différent, je pensais m'en sortir mais comme c'est nouveau pour moi, je suis perdu...
Comme je le disais il va y avoir au moins 50 fichiers, je peux le faire manuellement ou semi auto mais c'est du boulot.
Si j'ai bien compris on peut aller directement chercher le répertoire et tous les fichier seront compilés ?


Si tu as le temps...
Merci beaucoup
 

Pièces jointes

  • cg-votes-gallery-1 (attendu).xlsx
    10.1 KB · Affichages: 5
  • cg-votes-gallery-1 .txt
    468 bytes · Affichages: 5

re4

XLDnaute Occasionnel
Pardon de te déranger encore, je suis pris par le temps...
Je n'y comprends rien à cette usine à gaz

1 - j'ouvre ton fichier Excel classeur complet V2
2- Data => Obtenir des données =>A partir d'un fichier => A partir d'un dossier
3- Je vais sélectionner le répertoire de tous les fichiers CSV (les nouveaux)
4 - une fenêtre s'ouvre avec Binary et la liste des classeurs, dates, etc..
5 - c'est à partir de la que ça se corse...
6- Suis perdu
7- Heureusement que tu es là
8- Merci
 

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
avec une fonction personnalisée en Power Query.
Voir PJ

1) Ouvre le fichier, va sur l'onglet "Données" / Requêtes et connexions


2) A droite de l'écran, clic-droit sur la requête "DonnéesImportées" puis Modifier


3) Dans la fenêtre de Power Query, Modifier la source


4) Parcourir le dossier contenant les fichiers txt, puis valider.


5) va sur l'onglet Accueil du Power Query, puis Fermer et Charger.



Cordialement
 

Pièces jointes

  • Re4_PowerQuery_V1.xlsx
    21.6 KB · Affichages: 3

mromain

XLDnaute Barbatruc
Bonjour à tous,

Ci-joint un autre exemple basé sur les fichiers que tu as fourni au post #3. Je les ai juste renommés en .csv.

Il faut :
  • adapter l’emplacement du dossier contenant les fichiers .csv (sur la feuille) ;
  • actualiser la requête (clic droit sur le tableau et Actualiser).

Coté Power Query, il y a :
  • Une fonction Fonction_ExtractionDonnéesFichierCsv permettant d’extraire les données d’un fichier .csv - elle est basé sur la proposition faite dans ton autre fil ;
  • La requête principale Requête_CompilationCsv qui :
    • récupère les fichiers du dossier de stockage ;
    • filtre sur les fichiers de type .csv ;
    • extrait les données de chaque fichier (à l’aide de la fonction Fonction_ExtractionDonnéesFichierCsv) ;
    • concatène l’ensemble des informations.

A+
 

Pièces jointes

  • Exemple_re4.xlsx
    18.1 KB · Affichages: 3

re4

XLDnaute Occasionnel
J'avais pas vu que n'était pas le même auteur, merci aussi
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…