Help - Fusion de classeur excel
Fermé
wikika
Messages postés
53
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
23 juillet 2020
-
17 sept. 2018 à 17:15
titeufdu89 Messages postés 374 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 - 18 sept. 2018 à 11:38
titeufdu89 Messages postés 374 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 - 18 sept. 2018 à 11:38
A voir également:
- Help - Fusion de classeur excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
4 réponses
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
17 sept. 2018 à 21:39
17 sept. 2018 à 21:39
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
wikika
Messages postés
53
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
23 juillet 2020
18 sept. 2018 à 08:51
18 sept. 2018 à 08:51
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
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
18 sept. 2018 à 09:50
18 sept. 2018 à 09:50
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?
wikika
Messages postés
53
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
23 juillet 2020
18 sept. 2018 à 11:08
18 sept. 2018 à 11:08
je comprends effectivement la problématique
en fait tous les fichiers seront dans le même dossier
l'idée c'est de lui dire de copier coller l'ensemble des fichier qui ont une extension *.xls sur une seul feuille
bien à toi
en fait tous les fichiers seront dans le même dossier
l'idée c'est de lui dire de copier coller l'ensemble des fichier qui ont une extension *.xls sur une seul feuille
bien à toi
wikika
Messages postés
53
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
23 juillet 2020
18 sept. 2018 à 09:17
18 sept. 2018 à 09:17
Si d'autres solution en complément de celle de JC je suis preneur
bien à vous
bien à vous
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
18 sept. 2018 à 11:38
18 sept. 2018 à 11:38
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