Help - Fusion de classeur excel
wikika
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
titeufdu89 Messages postés 374 Date d'inscription Statut Membre Dernière intervention -
titeufdu89 Messages postés 374 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai fusionner plusieurs feuilles excel (environ 30 feuilles) dans un seul classeur (le tout sur une même feuille,
Toutes les feuilles se nomme Feuil3 (de chaque fichier à fusionner)
Chaque feuille a un nombre de ligne à récupérer différent.
Chaque classeur a un nom différent *.xls mais la feuille dispose du même nombre de colonne (même format)
Les classeurs sont sur mon bureau dans un dossier "Fichiers reçus"
Exemple fichier:
Fichier 1 :https://www.cjoint.com/c/HFni1cuVIKZ
Fichier 2: https://www.cjoint.com/c/HFni3egXDXZ
Le tout devra être fusionné sur un classeur portant le nom "Fichiers fusionnés"
D'avance merci pour votre aide
Je souhaiterai fusionner plusieurs feuilles excel (environ 30 feuilles) dans un seul classeur (le tout sur une même feuille,
Toutes les feuilles se nomme Feuil3 (de chaque fichier à fusionner)
Chaque feuille a un nombre de ligne à récupérer différent.
Chaque classeur a un nom différent *.xls mais la feuille dispose du même nombre de colonne (même format)
Les classeurs sont sur mon bureau dans un dossier "Fichiers reçus"
Exemple fichier:
Fichier 1 :https://www.cjoint.com/c/HFni1cuVIKZ
Fichier 2: https://www.cjoint.com/c/HFni3egXDXZ
Le tout devra être fusionné sur un classeur portant le nom "Fichiers fusionnés"
D'avance merci pour votre aide
A voir également:
- Help - Fusion de classeur excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Fiche de pointage excel - Télécharger - Tableur
4 réponses
Bonsoir Wikika,
Ci-joint ton fichier : https://www.cjoint.com/c/HIrtzZ78PpN
- feuille "récap" où vont venir s'ajouter les lignes de tes classeurs
- feuille "lien" ou tu saisies les chemins de tes fichier en colonne A et le nom des fichiers en colonne B (avec extension)
Lorsque tu lances la macro, si les fichiers sont fermés la macro les ouvres, copie les données de chaque feuille dans la feuille récap, ferme le fichier et passe au suivant.
NB : il n'y a pas de notion de mise à jour, c'est a dire que la macro n'analyse pas ce qui est déjà présent dans récap pour ajouter ce qui n'y serait pas c'est pourquoi à chaque lancement de la macro j'ai programmer la suppression intégrale de la feuille récap puis ensuite l'ajout des données de tes classeurs.
Bonne soirée
Jc
Ci-joint ton fichier : https://www.cjoint.com/c/HIrtzZ78PpN
- feuille "récap" où vont venir s'ajouter les lignes de tes classeurs
- feuille "lien" ou tu saisies les chemins de tes fichier en colonne A et le nom des fichiers en colonne B (avec extension)
Lorsque tu lances la macro, si les fichiers sont fermés la macro les ouvres, copie les données de chaque feuille dans la feuille récap, ferme le fichier et passe au suivant.
NB : il n'y a pas de notion de mise à jour, c'est a dire que la macro n'analyse pas ce qui est déjà présent dans récap pour ajouter ce qui n'y serait pas c'est pourquoi à chaque lancement de la macro j'ai programmer la suppression intégrale de la feuille récap puis ensuite l'ajout des données de tes classeurs.
Bonne soirée
Jc
merci JC
Le seul pb c'est que chaque mois les fichiers vont changer de nom, donc assez fastidieux de réécrire dans l'onglet lien chaque nom de fichier.
L'idée serait de lancer une boucle qui vient automatiquement récupérer les fichiers sans se soucier de leur nom .
bien à toi
Le seul pb c'est que chaque mois les fichiers vont changer de nom, donc assez fastidieux de réécrire dans l'onglet lien chaque nom de fichier.
L'idée serait de lancer une boucle qui vient automatiquement récupérer les fichiers sans se soucier de leur nom .
bien à toi
Excel est un programme très performant mais malheureusement il n'a pas de don divinatoire... il traite les informations que tu lui donnes, si tu ne l'informes pas des fichiers que tu souhaites traiter il ne pourra pas les ouvrir de lui même... :-s
As-tu un autre fichier qui reprendrait le nom de tes fichiers? Sont-il tous contenus dans un même dossier? (et il faudrait que ce dossiercontienne uniquement les fichiers à traiter) Peut-être existe-t-il un code qui permettrait d'ouvrir tous les classeurs d'un dossier un par un mais pour le coup ça dépasse mon niveau de compétences.
Sinon comment pensais tu récupérer les noms de tes fichiers initialement?
As-tu un autre fichier qui reprendrait le nom de tes fichiers? Sont-il tous contenus dans un même dossier? (et il faudrait que ce dossiercontienne uniquement les fichiers à traiter) Peut-être existe-t-il un code qui permettrait d'ouvrir tous les classeurs d'un dossier un par un mais pour le coup ça dépasse mon niveau de compétences.
Sinon comment pensais tu récupérer les noms de tes fichiers initialement?
Essaye ce code en mettant a jour le chemin du dossier
Option Explicit Sub Traitement() Dim Wbs As Workbook Set Wbs = ActiveWorkbook Dim lien As Worksheet, recap As Worksheet Set recap = Wbs.Sheets("recap") 'supprime les information existantes If recap.Range("A65536").End(xlUp).Row > 1 Then recap.Range("A2:H" & recap.Range("A65536").End(xlUp).Row).Clear End If Dim I As Long, k As Long, j As Long, der As Long, lig As Long Dim ws As Worksheet lig = 2 Dim Fichier As String, Chemin As String Dim Wb As Workbook Chemin = "C:\Users\JC\Desktop\Essai\" 'a mettre à jour Fichier = Dir(Chemin & "*.xls") Do While Fichier <> "" Set Wb = Workbooks.Open(Chemin & Fichier) 'Traitement du fichier 'copie des informations de chaque feuilles des classeurs For k = 1 To ActiveWorkbook.Worksheets.Count Set ws = ActiveWorkbook.Worksheets(k) der = ws.Range("A65536").End(xlUp).Row For j = 2 To der ws.Rows(j).Copy Wbs.Sheets("Recap").Rows(lig) lig = lig + 1 Next j Next k 'Fermeture du fichier Wb.Close True Set Wb = Nothing Fichier = Dir Loop End Sub