Macro consolidation de plusieurs fichiers en une seule table

dudumomo

XLDnaute Occasionnel
Bonjour a tous,

Je recherche une macro qui peut m'aider a consolider environ une centaine de fichier (Qui s'agrandit de jour en jour).
Ils sont tous situé dans un même dossier, et ils commencent tous par "STU -" qui sont a consolider dans un même fichier (Celui qui aura la macro)

Dans ces fichiers, il y a 2 onglets, "Info" avec les infos sur le fichier (Ref et date par exemple) et un second onglet avec le détails des étudiants. (Code, nom, ...)

J'ai donc besoin de:
1) Consolider les 2 onglets de chaque fichier dans une même table unique (Fichier plat), en gardant pour chaque détails des étudiants, les informations du fichier (ref et date)
2) Vu que je vais faire tourner cette macro tous les jours ou semaine, je voudrais que ça garde en compte les fichiers que j'ai déjà importé, pour éviter des les reprendre. (Peut être en gardant dans la table, le nom du fichier source?)

Je joins un fichier exemple pour plus de clarté.

Vous avez des idées?

Merci grandement!
 

Pièces jointes

  • STU - 2015.8.31.xlsx
    9 KB · Affichages: 60

Jacou

XLDnaute Impliqué
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonjour Dudumomo,
je te suggère de ne pas multiplier les points dans les noms de fichier (le point est normalement réservé à la séparation du nom du fichier et de son extension.
remplace tes points par des tirets ça simplifiera les traitements.
Les noms de tes fichiers ont quelle structure ?
Jacou
 

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonjour Jacou,

Bien vu...ça semble en effet être une mauvaise habitude, je vais corriger cela.

Pour les noms des fichiers, ils commencent tous par "STU - " avec un code, puis la date et le nom du projet.
Mais je vais enlever les espaces je pense et enlever le tiret du STU pour plus de clarté.

Par exemple:
STU1234-5-9-2015-Projet A

J’espère que tu as une idée de code...

Merci!
 

bbb38

XLDnaute Accro
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonjour dudumomo, Jacou, le forum,
Pour les noms des fichiers, je laisserai les tirets (tiret du 8), car plus lisible (avis personnel).
Dans un répertoire vierge (par exemple : Test), tu copies les fichiers ci-inclus, puis tu lances la macro (bouton de commande : Lancer la consolidation du fichier RECAPITULATIF). Les noms des fichiers apparaîtront en colonne A.
Pour l’instant, la macro ne récupère pas les autres données (mes vieux yeux commencent à se fermer).
Cordialement,
Bernard
 

Pièces jointes

  • STU_3142_2015_09_05_Projet_C.xlsx
    10.8 KB · Affichages: 37
  • STU_2315_2015_09_01_Projet_B.xlsx
    10.9 KB · Affichages: 34
  • STU_1234_2015_08_31_Projet_A.xlsx
    10.9 KB · Affichages: 34
  • RECAPITULATIF.xlsm
    22.5 KB · Affichages: 59
  • STU_3142_2015_09_05_Projet_C.xlsx
    10.8 KB · Affichages: 32
  • STU_2315_2015_09_01_Projet_B.xlsx
    10.9 KB · Affichages: 30
  • STU_1234_2015_08_31_Projet_A.xlsx
    10.9 KB · Affichages: 37
  • RECAPITULATIF.xlsm
    22.5 KB · Affichages: 58

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Salut bbb38,
Ca fonctionne très bien pour capturer les noms et s'assurer de ne pas les reprendre 2 fois. Merci.

Pour le reste des infos, tu as une petite idée?
(Enfin la il est tard c'est sur)

Merci!
 

bbb38

XLDnaute Accro
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonjour dudumomo, Jacou, le forum,
Une solution en ouvrant les fichiers (le nombre de données à récupérer étant faible), mais certainement mois rapide. J’essaierai d’autres méthodes.
Cordialement,
Bernard
 

Pièces jointes

  • RECAPITULATIF.xlsm
    23.2 KB · Affichages: 41
  • RECAPITULATIF.xlsm
    23.2 KB · Affichages: 48

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Salut bbb38,

Merci grandement de ton aide.

Cependant je rencontre un problème avec ta macro "Inscription(Nomfichier)", ça me retourne comme quoi STU_1234_2015_08_31_Projet_A est introuvable et surligne la ligne:
Set wbksource = Workbooks.Open(Filename:=Nomfichier)
En revanche, ça a bien ajouté le nom du fichier dans la première colonne...

Tu as une idée pourquoi?

Merci!
 

bbb38

XLDnaute Accro
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonjour dudumomo, Jacou, le forum,
Corrections effectuées. A tester.
Cordialement,
Bernard
 

Pièces jointes

  • RECAPITULATIF.xlsm
    24.8 KB · Affichages: 56
  • RECAPITULATIF.xlsm
    24.8 KB · Affichages: 55

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Salut bbb38, le forum,

Je viens de tester en détail la macro, le problème que je rencontre concerne la feuille "Detail" qui contient a 95% du temps, plusieurs lignes. Il faudrait donc toutes les copies, mais en gardant pour chaque lignes les infos du fichier (Ref, Source, ...)

J'ai essaye d'entrer une "Range" (A5:C20) mais en vain, ca ne garde que la première cellule et puis il faudrait que ce soit dynamique (# de lignes toujours différentes)

As tu des idées?

Merci grandement!
 

bbb38

XLDnaute Accro
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonsoir dudumomo, le forum,
Modifications réalisées (si j’ai bien compris ta demande). A tester.
Cordialement,
Bernard
 

Pièces jointes

  • RECAPITULATIF.xlsm
    27 KB · Affichages: 44
  • STU_3142_2015_09_05_Projet_C.xlsx
    10.2 KB · Affichages: 36
  • STU_2315_2015_09_01_Projet_B.xlsx
    10.1 KB · Affichages: 32
  • STU_1234_2015_08_31_Projet_A.xlsx
    10 KB · Affichages: 32
  • RECAPITULATIF.xlsm
    27 KB · Affichages: 49
  • STU_3142_2015_09_05_Projet_C.xlsx
    10.2 KB · Affichages: 32
  • STU_2315_2015_09_01_Projet_B.xlsx
    10.1 KB · Affichages: 36
  • STU_1234_2015_08_31_Projet_A.xlsx
    10 KB · Affichages: 37

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Salut bbb38, ca fonctionne et c'est exactement ca.

Cependant je rencontre un probleme si le fichier est en .xls et non .xlsx

Ca s'arrete sur:
xdlgnsource = wbksource.Sheets("Detail").Range("C" & Rows.Count).End(xlUp).Row: xnblgnsource = xdlgnsource - 5

Une idee du probleme?

Merci!
 
Dernière édition:

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Un autre point, dans l'onglet Detail, il s'agit que de formule. Si il n'y a pas de donnee, la formule affiche "" (Vide quoi)

Du coup, quand la macro compte le nombre de lignes, ca inclus ces lignes la, bien qu'elles sont vides.

Comment puis-je faire pour ne compter que les lignes affichant un resultat?

Merci bien!
 
Dernière édition:

bbb38

XLDnaute Accro
Re : Macro consolidation de plusieurs fichiers en une seule table

Bonsoir dudumomo, le forum,
Cependant je rencontre un probleme si le fichier est en .xls et non .xlsx
Correction effectuée, dans l’hypothèse ou le nombre de lignes des fichiers (STU…..) ne dépassera pas 65536 lignes. Dans le cas contraire, il faut tester l’extension du fichier.
Peux-tu mettre un exemple avec une ou deux formules sur l’un des trois fichiers sources (si j’ai bien compris, la ligne ne comporte que des formules, mais les cellules sont vides). Sur le fichier STU_1234_2015_08_31_Projet_A.xlsx, j’ai mis une formule dans la cellule C7, mais je pense que mon exemple ne correspond pas à ton fichier.
Cordialement,
Bernard
 

Pièces jointes

  • STU_2315_2015_09_01_Projet_B.xls
    26.5 KB · Affichages: 27
  • STU_1234_2015_08_31_Projet_A.xlsx
    10.3 KB · Affichages: 34
  • RECAPITULATIF.xlsm
    27.2 KB · Affichages: 41
  • STU_3142_2015_09_05_Projet_C.xlsx
    10.2 KB · Affichages: 31
  • STU_2315_2015_09_01_Projet_B.xls
    26.5 KB · Affichages: 29
  • STU_1234_2015_08_31_Projet_A.xlsx
    10.3 KB · Affichages: 31
  • RECAPITULATIF.xlsm
    27.2 KB · Affichages: 40
  • STU_3142_2015_09_05_Projet_C.xlsx
    10.2 KB · Affichages: 34

dudumomo

XLDnaute Occasionnel
Re : Macro consolidation de plusieurs fichiers en une seule table

Salut bbb38 et le forum

Impeccable pour le fichier xls, mes fichiers sont de 500 lignes max, donc ca ira tres bien.

En revanche, pour l'histoire des formules, la feuille Detail pointe sur une autre feuille intermediaire (Que je n'ai pas besoin) et qui sert pour rentrer les donnees. La feuille Detail est juste le detail par ligne.

Du coup on a toujours des trucs du genre, SI INPUT = "" alors "" SINON INPUT et ca sur 500 lignes. Alors qu'il n'y a peut etre que 10 lignes de rempli cote input, mais dans detail, la macro va prendre les 500 lignes.

Je ne suis pas sur mon PC pour te passer un meilleur fichier, mais j'espere que tu vois mon probleme.

Merci!
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 067
Membres
104 015
dernier inscrit
kkgk