Fusionner plusieurs fichiers excel de meme contenu en un seul
Résolu/Fermé
Thyristhor
Messages postés
10
Date d'inscription
mercredi 13 avril 2016
Statut
Membre
Dernière intervention
2 mai 2016
-
29 avril 2016 à 14:33
Thyristhor Messages postés 10 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 2 mai 2016 - 2 mai 2016 à 11:46
Thyristhor Messages postés 10 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 2 mai 2016 - 2 mai 2016 à 11:46
A voir également:
- Fusionner plusieurs fichiers excel de meme contenu en un seul
- Liste déroulante excel - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Fusionner plusieurs fichiers excel - Guide
- Fusionner plusieurs pdf en un seul - Guide
- Wetransfer gratuit fichiers lourd - Guide
2 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
30 avril 2016 à 11:16
30 avril 2016 à 11:16
Bonjour
Une proposition, mettez le nom du chemin ou se trouve les fichiers esclaves en A2 de la feuille Liste des fichiers esclaves. Dans ce répertoire il doit y avoir le fichier maitre et les fichiers esclaves, cliquez sur le bouton.
https://www.cjoint.com/c/FDEjmER8xlw
Je dois m'absenter pour la journée, si il y a un soucis je ne répondrai que très tard ou demain.cdlt
Une proposition, mettez le nom du chemin ou se trouve les fichiers esclaves en A2 de la feuille Liste des fichiers esclaves. Dans ce répertoire il doit y avoir le fichier maitre et les fichiers esclaves, cliquez sur le bouton.
https://www.cjoint.com/c/FDEjmER8xlw
Je dois m'absenter pour la journée, si il y a un soucis je ne répondrai que très tard ou demain.cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
2 mai 2016 à 10:39
2 mai 2016 à 10:39
Bonjour
Finalement après avoir sorti le fichier maitre du dossier (chemin en A2) contenant les fichiers esclaves, ça a l'air de marcher.
Dans le code fourni, le fichier maitre s'appelait
Revoici le code avec les commentaires
Finalement après avoir sorti le fichier maitre du dossier (chemin en A2) contenant les fichiers esclaves, ça a l'air de marcher.
Dans le code fourni, le fichier maitre s'appelait
"Fichier-maitre.xlsm", peut-être que chez vous il s'appelle autrement dans ce cas, il faut le modifier dans le code.
Revoici le code avec les commentaires
Option Compare Text Sub RecupListeFichiersEsclaves() Application.ScreenUpdating = False Dim Chemin As String, FichEscl As String, i As Integer Range("A5:A20").ClearContents Chemin = Sheets("Liste des fichiers esclaves").[A2] & "\" FichEscl = Dir(Chemin) Lig = 5 'on démarre à la ligne 5 'tant que la liste des fichiers esclaves n'est pas vide et que le fichier n'est pas le fichier maître, alors on récupère le nom du fichier esclave. 'ensuite dans la colonne B, on crée une formule qui va extraire la date du fichier Do While FichEscl <> "" And FichEscl <> "Fichier-maitre.xlsm" Sheets("Liste des fichiers esclaves").Cells(Lig, 1) = FichEscl Sheets("Liste des fichiers esclaves").Cells(Lig, 2) = "=VALUE(MID(RC[-1],7,2) & ""/"" & MID(RC[-1],5,2) & ""/"" & LEFT(RC[-1],4))" FichEscl = Dir 'on passe au fichier suivant Lig = Lig + 1 'on de décale sur la ligne suivnate Loop 'on fait un tri par date, du plus ancien au plus récent Range("A5").Select ActiveWorkbook.Worksheets("Liste des fichiers esclaves").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Liste des fichiers esclaves").Sort.SortFields.Add Key:=Range("B5:B" & Lig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Liste des fichiers esclaves").Sort .SetRange Range("A4:B" & Lig) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 'on repère la dernière ligne et dernière colonne du fichier final DerLig = Sheets("Fichier maitre final").Range("A1").SpecialCells(xlCellTypeLastCell).Row DerCol = Sheets("Fichier maitre final").Range("A1").SpecialCells(xlCellTypeLastCell).Column ReDim Valeur(DerLig, DerLig, DerCol) As String 'on crée une variable "Valeur" avec les arguments suivants(Derlig pour le nombre maximum de fichiers esclaves, _ DerLig pour le nombre maxi de lignes du tableau, DerCol pour le nombre de colonnes maxi du tableau) 'pour chaque fichier esclave For i = 5 To Lig - 1 'on boucle de la ligne 5 jusqu'à la dernière ligne pour ouvrir chaque fichier esclave Workbooks.Open Filename:=Chemin & Sheets("Liste des fichiers esclaves").Cells(i, 1) For l = 2 To DerLig 'de la ligne 2 du tableau et jusqu'à la dernière, on relève toutes les valeurs For c = 2 To DerCol Valeur(i, l, c) = Cells(l, c) Next c Next l ActiveWorkbook.Close 'on ferme le fichier esclave Next i ' on passe au fichier suivant si il existe, sinon on passe à la ligne suivante 'ici, on fait l'opération inverse, on recopie toutes les valeurs enregistrées précédemment et on les restituent dans le tableau final For i = 5 To Lig For l = 2 To DerLig For c = 2 To DerCol ' on dépose la nouvelle valeur Sheets("Fichier maitre final").Cells(l, c) = Valeur(i, l, c) Next c 'on passe à la colonne suivante Next l 'on passe à la ligne suivante Next i 'on passe au fichier esclave suivant End Sub Cdlt
Thyristhor
Messages postés
10
Date d'inscription
mercredi 13 avril 2016
Statut
Membre
Dernière intervention
2 mai 2016
2 mai 2016 à 11:46
2 mai 2016 à 11:46
Nickel merci beaucoup,
Effectivement j'ai changé le nom du fichier maitre
je jette un oeil et reviens par ici pour passer en résolu si c'est le cas.
Merci Frenchie
Effectivement j'ai changé le nom du fichier maitre
je jette un oeil et reviens par ici pour passer en résolu si c'est le cas.
Merci Frenchie
2 mai 2016 à 08:56
Merci de ta proposition, j'ai testé celle ci après avoir tout mis dans le meme dossier et quand je clique sur "récup données des fichiers esclaves", Excel tente de rouvrir le fichier maitre, si je lui confirme l'ouverture excel plante et redémarre, si je confirme la non-ouverture, j'ai cette ligne :
en erreur dans le débogeur.
je n'ai pas pu aller plus loin que ca dans le test.
Est il possible que tu annote le code de commentaires afin que je puisse réutiliser la macro pour d'autres configurations ( j'ai 9 fichier maitre pour 9*12 fichiers esclaves à gérer )
Cordialement
2 mai 2016 à 09:01
2 mai 2016 à 09:13
J'aurais toutefois besoin d'annotations sur le code pour reproduire la macro dans une autre config de fichier
merci d'avance
Thyristhor