Regrouper plusieurs fichiers excels en un seu
Résolu
nabilinkin
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
nabilinkin Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
nabilinkin Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour tt le monde,
j'ai 6 fichiers excel 2007 est il possible via une macro de copier toutes les lignes des 6 fichiers et les coller les unes en dessous des autres dans un seul fichier.
Regrouper dans la feuille "1" (du fichier q j vé appeler récap) les feuilles 1 des 6 fichiers en question, et la mm chose pr la feuille "2".
Merci d'avance pr votre aide!
Merci pour votre aide.
j'ai 6 fichiers excel 2007 est il possible via une macro de copier toutes les lignes des 6 fichiers et les coller les unes en dessous des autres dans un seul fichier.
Regrouper dans la feuille "1" (du fichier q j vé appeler récap) les feuilles 1 des 6 fichiers en question, et la mm chose pr la feuille "2".
Merci d'avance pr votre aide!
Merci pour votre aide.
A voir également:
- Regrouper plusieurs fichiers excels en un seu
- Renommer plusieurs fichiers en même temps - Guide
- Comment réduire la taille d'un fichier - Guide
- Regrouper plusieurs feuilles excel en une seule - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment regrouper plusieurs pdf en un seul - Guide
8 réponses
bonjour
Tu as dans cette discussion un classeur qui fait cela pour tout un répertoire.
Si le résultat ne te convient pas il est facilement modifiable : à toi de dire.
Tu as dans cette discussion un classeur qui fait cela pour tout un répertoire.
Si le résultat ne te convient pas il est facilement modifiable : à toi de dire.
bonjour
Voici le classeur modifié selon tes spécifications et corrigé selon la demande supplémentaire :
http://www.cijoint.fr/cjlink.php?file=cj201101/cijFntxXAv.xlsm
Le classeur regroupe pour tous les classeurs ".xlsx" du répertoire choisi :
- les feuilles "Détail OPEX" dans la feuille "Détail OPEX GLOBAL"
- les feuilles "Détail CAPEX" dans la feuille "Détail CAPEX GLOBAL"
du classeur "Synthèse budget 2011.xlsx" créé dans le même répertoire,
en ne gardant qu'une seule fois les lignes titre.
Le nombre en est saisi et s'il est présent le classeur de regroupement n'est réinitialisé que pour les feuilles "GLOBAL".
Le classeur fourni peut être enregistré sur n'importe quel répertoire : il ne sert qu'à effectuer le regroupement en cliquant sur le bouton et se ferme automatiquement en fin de procédure.
La macro est modifiable pour adapter le regroupement aux cas spécifiques rencontrés.
Bon test.
Toujours zen
Voici le classeur modifié selon tes spécifications et corrigé selon la demande supplémentaire :
http://www.cijoint.fr/cjlink.php?file=cj201101/cijFntxXAv.xlsm
Le classeur regroupe pour tous les classeurs ".xlsx" du répertoire choisi :
- les feuilles "Détail OPEX" dans la feuille "Détail OPEX GLOBAL"
- les feuilles "Détail CAPEX" dans la feuille "Détail CAPEX GLOBAL"
du classeur "Synthèse budget 2011.xlsx" créé dans le même répertoire,
en ne gardant qu'une seule fois les lignes titre.
Le nombre en est saisi et s'il est présent le classeur de regroupement n'est réinitialisé que pour les feuilles "GLOBAL".
Le classeur fourni peut être enregistré sur n'importe quel répertoire : il ne sert qu'à effectuer le regroupement en cliquant sur le bouton et se ferme automatiquement en fin de procédure.
La macro est modifiable pour adapter le regroupement aux cas spécifiques rencontrés.
Bon test.
Toujours zen
Merci gbinforme pour ta prompte réponse.
j'ai déjà consulté ce fichier et je le trouve extra sauf kil répond pas parfaitement à mon besoin et q je saurai modifier le scrip puisq j mconnais po en VBA.
Vous serez gentil de m'aider sur ce point.
Besoin:
-Regrouper les 6 feuilles nommées feuil1 des 6 fichiers ds une seule feuille du fichier résultat.
-Regrouper les 6 feuilles nommées feuil2 des 6 fichiers ds une seule feuille du fichier résultat autre que celle obtenue avec les feuilles "1".
Merci pour votre retour
j'ai déjà consulté ce fichier et je le trouve extra sauf kil répond pas parfaitement à mon besoin et q je saurai modifier le scrip puisq j mconnais po en VBA.
Vous serez gentil de m'aider sur ce point.
Besoin:
-Regrouper les 6 feuilles nommées feuil1 des 6 fichiers ds une seule feuille du fichier résultat.
-Regrouper les 6 feuilles nommées feuil2 des 6 fichiers ds une seule feuille du fichier résultat autre que celle obtenue avec les feuilles "1".
Merci pour votre retour
bonjour nabilinkin,
Tes 6 classeurs sont-ils seuls sur ce répertoire ?
sinon quel est leur point commun ?
Tes onglets se nomment bien "feuil1" et "feuil2" ?
Doit-on garder la/les lignes titre sur les 5 suivants ?
Veux-tu le nom du classeur :
- sur une ligne ?
- en colonne début ou fin du classeur résultat ?
- avec un lien hypertexte ?
Quel nom veux-tu pour le fichier résultat ?
Essayes de préciser ta demande pour avoir exactement ce que tu veux.
Tu peux tester le classeur ci-dessus pour voir ce qui ne correspond pas à ton souhait (mis à part les 2 feuilles que tu as exposé).
Tes 6 classeurs sont-ils seuls sur ce répertoire ?
sinon quel est leur point commun ?
Tes onglets se nomment bien "feuil1" et "feuil2" ?
Doit-on garder la/les lignes titre sur les 5 suivants ?
Veux-tu le nom du classeur :
- sur une ligne ?
- en colonne début ou fin du classeur résultat ?
- avec un lien hypertexte ?
Quel nom veux-tu pour le fichier résultat ?
Essayes de préciser ta demande pour avoir exactement ce que tu veux.
Tu peux tester le classeur ci-dessus pour voir ce qui ne correspond pas à ton souhait (mis à part les 2 feuilles que tu as exposé).
bonjour nabilinkin,
Tes 6 classeurs sont-ils seuls sur ce répertoire ?
En fait je rectifie, ils sont 5 et par principe ils vont être seuls.
sinon quel est leur point commun ?
Ils ont la même structure(4feuilles)
Tes onglets se nomment bien "feuil1" et "feuil2" ?
"Synthèse OPEX" "Détail OPEX" "Synthèse CAPEX" "Détail CAPEX"
Et je veux q la macro puise les données des 5 fichiers(peu importe le nombre de fichiers) en question pour avoir en résultat un seul fichier contenant deux feuilles:
-une feuille appelée "Détail OPEX GLOBAL" regroupant les 5 feuilles "Détail OPEX" des 5 fichiers.
-une feuille appelée "Détail CAPEX GLOBAL" regroupant les 5 feuilles "Détail CAPEX" des 5 fichiers.
Doit-on garder la/les lignes titre sur les 5 suivants ?
Non, on va prendre la/les lignes titre (il s'agit de 2 lignes) du 1er fichier à rencontrer sur le fichier puisq ts ont la même structure.
---2 premières de la feuille "Détail OPEX"
---2 premières de la feuille "Détail CAPEX"
Veux-tu le nom du classeur :
- sur une ligne ?
- en colonne début ou fin du classeur résultat ?
- avec un lien hypertexte ?
Je pense q j'en ai po beso1 pr le moment.
Quel nom veux-tu pour le fichier résultat ?
Synthèse budget 2011
Essayes de préciser ta demande pour avoir exactement ce que tu veux.
Tu peux tester le classeur ci-dessus pour voir ce qui ne correspond pas à ton souhait (mis à part les 2 feuilles que tu as exposé).
J'attends impatiemment ta réponse!
Tes 6 classeurs sont-ils seuls sur ce répertoire ?
En fait je rectifie, ils sont 5 et par principe ils vont être seuls.
sinon quel est leur point commun ?
Ils ont la même structure(4feuilles)
Tes onglets se nomment bien "feuil1" et "feuil2" ?
"Synthèse OPEX" "Détail OPEX" "Synthèse CAPEX" "Détail CAPEX"
Et je veux q la macro puise les données des 5 fichiers(peu importe le nombre de fichiers) en question pour avoir en résultat un seul fichier contenant deux feuilles:
-une feuille appelée "Détail OPEX GLOBAL" regroupant les 5 feuilles "Détail OPEX" des 5 fichiers.
-une feuille appelée "Détail CAPEX GLOBAL" regroupant les 5 feuilles "Détail CAPEX" des 5 fichiers.
Doit-on garder la/les lignes titre sur les 5 suivants ?
Non, on va prendre la/les lignes titre (il s'agit de 2 lignes) du 1er fichier à rencontrer sur le fichier puisq ts ont la même structure.
---2 premières de la feuille "Détail OPEX"
---2 premières de la feuille "Détail CAPEX"
Veux-tu le nom du classeur :
- sur une ligne ?
- en colonne début ou fin du classeur résultat ?
- avec un lien hypertexte ?
Je pense q j'en ai po beso1 pr le moment.
Quel nom veux-tu pour le fichier résultat ?
Synthèse budget 2011
Essayes de préciser ta demande pour avoir exactement ce que tu veux.
Tu peux tester le classeur ci-dessus pour voir ce qui ne correspond pas à ton souhait (mis à part les 2 feuilles que tu as exposé).
J'attends impatiemment ta réponse!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ton fichier est vraimt EXTRA.
J'abuse encore une fois de ta gentillesse!
J'ai 2 questions à te poser STP:
--Si j'ai X lignes titres au lieu de 2 ds les fichiers source, que devrai-je modifier dans le script?
--je veux mettre des formules de synthèse sur les autres feuilles appartenant au fichier résultat "Synthèse budget 2011", mais qd je relance la macro cela crée catégoriquement un nouveau fichier.
Esq il y a 1e possibilité à ce q la macro n'exerce qu'une MAJ sur les deux feuilles "Détail OPEX GLOBAL" et "Détail CAPEX GLOBAL" sans toucher les autres feuilles?
J'abuse encore une fois de ta gentillesse!
J'ai 2 questions à te poser STP:
--Si j'ai X lignes titres au lieu de 2 ds les fichiers source, que devrai-je modifier dans le script?
--je veux mettre des formules de synthèse sur les autres feuilles appartenant au fichier résultat "Synthèse budget 2011", mais qd je relance la macro cela crée catégoriquement un nouveau fichier.
Esq il y a 1e possibilité à ce q la macro n'exerce qu'une MAJ sur les deux feuilles "Détail OPEX GLOBAL" et "Détail CAPEX GLOBAL" sans toucher les autres feuilles?
Merci gbinforme pour tes réponses ki sont tjrs au RDV.
Il me reste encore un tt petit souci: à partir du 3ème fichier la macro me met 2 lignes vides entre les onglets regroupés, mais sans les mettre entre les 2 premiers onglets!!
PS: J'ai mis "2" dans le message ki apparait "saisissez le nombre de lignes de titre".
Il me reste encore un tt petit souci: à partir du 3ème fichier la macro me met 2 lignes vides entre les onglets regroupés, mais sans les mettre entre les 2 premiers onglets!!
PS: J'ai mis "2" dans le message ki apparait "saisissez le nombre de lignes de titre".
Le nombre de lignes que tu choisis n'a rien à voir avec les lignes vides : il supprime simplement la copie d'autant de lignes d'en-tête.
Tu ouvres le classeur qui crée des lignes vides et tu saisis les touches ctrl + fin pour aller au bas de ta page et tu vas voir que tu as des lignes apparemment vides mais incluses dans ton classeur.
Tu ouvres le classeur qui crée des lignes vides et tu saisis les touches ctrl + fin pour aller au bas de ta page et tu vas voir que tu as des lignes apparemment vides mais incluses dans ton classeur.
J'ai supprimé ttes les lignes vides des différents fichiers et g relancé la macro, mais tjrs le mm problème.
ET d'ailleurs cette fois-ci j'ai mis 3 et ça me renvoie 3 lignes vides entre les onglets!
Tu peux STP revenir à la méthode traditionnelle et mettre 3 lignes titres au lieu du message.
Merci bcp pour tes retours
ET d'ailleurs cette fois-ci j'ai mis 3 et ça me renvoie 3 lignes vides entre les onglets!
Tu peux STP revenir à la méthode traditionnelle et mettre 3 lignes titres au lieu du message.
Merci bcp pour tes retours
Bonsoir Gbinforme,
J'ai pu récupérer une macro ki sert à supprimer les lignes vides, peux-tu STP l'ajouter à la macro de telle sorte kaprès q le fichier résultat est créé cette macro se lance pour supprimer les lignes vides des 2 feuilles "Détail OPEX GLOBAL" et "Détail CAPEX GLOBAL".
Sub supprime_lignes_vides()
dernière_ligne = ActiveCell.SpecialCells(xlLastCell).Row
For i = dernière_ligne To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub
Dans l'attente de tes fichiers ingénieux!
J'ai pu récupérer une macro ki sert à supprimer les lignes vides, peux-tu STP l'ajouter à la macro de telle sorte kaprès q le fichier résultat est créé cette macro se lance pour supprimer les lignes vides des 2 feuilles "Détail OPEX GLOBAL" et "Détail CAPEX GLOBAL".
Sub supprime_lignes_vides()
dernière_ligne = ActiveCell.SpecialCells(xlLastCell).Row
For i = dernière_ligne To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub
Dans l'attente de tes fichiers ingénieux!