Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

TWIOH

XLDnaute Nouveau
Bonsoir,
J'ai trouvé dans le forum sous un même intitulé de message, une macro (Recap) pour concatener plusieurs feuilles en une seule. Toutefois, les contenus des feuilles sont copiés les uns en dessous des autres. Serait-il possible d'adapter la macro pour que les données soient copiées de gauche à droite les unes à côté des autres (mes feuilles ont la même structures et la première colonne est la même pour toutes les feuilles (liste d'élèves). Pour mieux être compris, j'ai mis trois pièces jointes pour illustrer ce que je souhaite faire. J'aimerai que le fichier Recap récupère les données des feuilles Prénom (colonne 1) et Nom (colonne 2) de sorte que le prénom se trouve devant le nom. La macro telle qu'elle est récupère bien les trois prénoms et les trois noms mais tout est dans la colonne 1. La dizaine de feuilles que je souhaite réunir en une seule est bien entendu composée de nombreuses colonnes mais je pense que le principe est le même. Je souhaite n'avoir qu'une feuille pour pouvoir faire un publipostage dans Word dont les champs de fusion trouveraient les données dans la feuille récapitulative d'excel.
Merci
TWIOH
Ps: J'ai ouvert une nouvelle discussion car j'ai peur que le message (le même) que j'ai laissé dans l'autre discussion (celle où j'ai trouvé Recap.xls) ne soit pas lu du fait que cette discussion soit déjà assez ancienne. TWIOH
 

Pièces jointes

  • 01-prénom.xlsx
    8.6 KB · Affichages: 228
  • Recap.xls
    24.5 KB · Affichages: 534
  • 02-Nom.xlsx
    8.6 KB · Affichages: 228
  • 01-prénom.xlsx
    8.6 KB · Affichages: 244
  • Recap.xls
    24.5 KB · Affichages: 513
  • 02-Nom.xlsx
    8.6 KB · Affichages: 204
  • 01-prénom.xlsx
    8.6 KB · Affichages: 258
  • Recap.xls
    24.5 KB · Affichages: 496
  • 02-Nom.xlsx
    8.6 KB · Affichages: 197
Dernière édition:

ted_etbill

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Bonsoir TWINOH;

Inspire toi de cet exemple:

Sur cet exemple, nous consolidons plusieurs classeurs d'un répertoire ayant un nom générique Vendeurxxx.xls dans un seul classeur.

Sub consolideClasseurs()
ChDir ActiveWorkbook.Path
Set classeurMaitre = ActiveWorkbook
sup
nf = Dir("vendeur*.xls")
Do While nf <> ""
Workbooks.Open Filename:=nf
Sheets(1).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = nf
Workbooks(nf).Close False
nf = Dir ' classeur suivant
Loop
Sheets(1).Select
End Sub

Sub sup()
Application.DisplayAlerts = False
If Sheets.Count > 1 Then
Sheets("Accueil").Move before:=Sheets(1)
Sheets(2).Select
For i = 2 To Sheets.Count
ActiveSheet.Delete
Next i
End If
End Sub
 

TWIOH

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Merci ted_Etbill,

Mon niveau ne me permet pas d'apprécier ta réponse à sa juste valeur. Pourrais-tu stp soit me donner la marche à suivre, soit me donner des fichiers exemples avec quelques données que j'essaye de comprendre comment ça marche. Je pourrais peut-être alors essayer d'adapter ta réponse à mon problème et te dire si c'est bien ce que je recherche. En fait mes feuilles de données excel auraient pu être dès le départ rassemblées sur une seule feuille. L'ensemble forme un long tableau commençant avec deux colonnes "Nom" Prénom". ensuite il y a d'autres colonnes comme "adresse" "classe" "besoins" "niveau scolaire"..... Comme il y a des données "administratives", "cursus scolaires", "présentation de l'élève" "emploi du temps".... cela faisait beaucoup de colonnes sur une même page et toutes les données des cellules ne seront pas renseignées par les mêmes personnes. Pour que les personnes puissent facilement entrer les informations dans les colonnes j'ai fait plusieurs pages par type de données (donc entre 5 et 10 colonnes par tableau). Lorsque toutes les pages seront renseignées par tous les intervenants en espace partagée sur internet, je les importerai de Google docs (tableur) dans excel. J'aurai donc plusieurs pages. Ces données doivent servir à compléter des dossiers bilans élèves pour des équipes de suivi d'élèves relevant du champ du handicap. Il y a un modèle type à compléter pour chaque élève au format .doc. Je passe sur l'intérêt d'avoir les données dans des tableaux, tu connais sans doute cela mieux que moi. Je pense utiliser la fonction de publipostage de Word pour éditer les bilans de chaque élève. Ce serait un gain de temps considérable pour l'édition des bilans de ces élèves qui sont suivis par de multiples intervenants. Mais Word ne prend qu'une page excel pour faire la fusion! Je dois donc copier-coller toutes les données sur une seule page avant de commencer le publipostage. Je peux bien entendu faire ce travail à la main mais si une macro pouvait le faire, je pourrais partager le principe de mes tableaux partagés à d'autres directeur de SEGPA et enseignants référents qui ont des bilans du même type à établir. Si c'est "automatisé" il y arriveront facilement. En tout cas merci déjà pour ton aide spontanée. TWIOH
 
Dernière édition:

TWIOH

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Coucou c'est encore moi!
Finalement je crois que j'ai trouvé quelque chose de tout simple, pas très esthétique mais qui semble fonctionner. La mise en place va être un peu longue mais une fois fait, cela devrait répondre à mes besoins : J'ai ajouté une page protégée "récapitulatif" à mon classeur qui comportait déjà plusieurs feuilles. Je suis allé dans la case A1 de cette nouvelle page et j'ai entré
='Nom de la feuille1'!A1
J'ai ensuite copié cette cellule que j'ai collé dans toutes les cellules identiques à la feuille1.
J'ai fait de même pour les données de la feuille 2 en repartant de la cellule 1 juste après la dernière colonne collée de la feuille 1 etc
De plus j'ai pu le faire directement dans google docs (qui ne met pas de zéro dans les cellules vides, ce qui m'arrange pour mon futur publipostage)
Mes collègue vont pouvoir s'atteler à remplir les pages non protégées du classeur partagé sur Google docs et ma page récapitulative va se remplir au fur et à mesure. Ensuite, je n'aurai que la page "Récapitilatif" à exporter dans Excel. J'aurai bien (enfin j'espère) toutes mes données regroupées dans un seul tableau qui me servira de base pour mon publipostage et l'édition des bilans individuels. Est-ce une bonne idée ou en avez-vous une meilleure. En tout cas j'ai avancé dans ma réflexion. Merci
TWIOH
 
J

JJ1

Guest
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Bonjour Twioh, le Forum
J'ai vu ta réponse sur mon fil:
https://www.excel-downloads.com/threads/concatener-plusieurs-xls.69680/

Je pense que tu pourrais adapter un code de Pierrot qui "découpe" une colonne (ici A) en x colonnes de y lignes vers la droite.
J'ai inclus le fichier avec le code en exemple (ici le code coupe à 50 lignes de "a") (clic sur le carré bleu)
A adapter.
Bon dimanche.
 

Pièces jointes

  • colonnes.xls
    94 KB · Affichages: 184
  • colonnes.xls
    94 KB · Affichages: 194
  • colonnes.xls
    94 KB · Affichages: 177

TWIOH

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Merci JJ1,

Je vais y regarder de plus près mais je ne pense pas que cela convienne pour ma situation présente ou alors je n'ai pas bien compris l'intérêt du découpage de la colonne A. Pour l'instant mon idée de copie ( ='feuille1'!A1) des cellules des différentes feuilles dans une feuille récapitulative semble mieux répondre à mon besoin initial, d'autant que je peux le faire directement dans Google Docs avant importation dans Excel et que toute modification dans un feuille n est répercutée automatiquement dans ma feuille récapitulative qui elle est protégée.
Bon dimanche également
TWIOH
 

Yaloo

XLDnaute Barbatruc
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Bonjour TWIOH, le fil,

Peut-être avec ce code :

VB:
Sub Compilation()
Dim Temp As String
Dim Ligne As Long
Temp = Dir(ActiveWorkbook.Path & "\*.xls")
Application.DisplayAlerts = False
col = 1
Do While Temp <> ""
  If Temp <> "Recap.xls" Then
    Workbooks.Open ActiveWorkbook.Path & "\" & Temp
    Workbooks(Temp).Sheets(1).Range("A1").CurrentRegion.Copy
    Workbooks("Recap.xls").Sheets(1).Activate
    Cells(2, col).Select
    ActiveSheet.Paste
    col = col + 1
    Workbooks(Temp).Close
  End If
Temp = Dir
Loop
Range("A1").Select
Application.DisplayAlerts = True
End Sub

Cela tu colles la première colonne de chaque fichier les unes à coté des autres.

A+
 

TWIOH

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Bonjour et merci pour ta contribution Yaloo,

Ce que je voulais faire et coller les n colonnes d'une feuille1 à côté des p colonnes d'une feuille 2 puis d'une feuille 3 etc. Je pense que pour l'instant ma solutions correspond mieux et comme de plus mon niveau en VBA est quasiment nul, je vais sans doute rester sur ce bricolage.
Bon dimanche
TWIOH
 

Yaloo

XLDnaute Barbatruc
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Re,

Bon alors peut-être comme ça :

VB:
Sub Compilation()
Dim Temp As String
Temp = Dir(ActiveWorkbook.Path & "\*.xls")
Application.DisplayAlerts = False
Do While Temp <> ""
  If Temp <> "Recap.xls" Then
    Workbooks.Open ActiveWorkbook.Path & "\" & Temp
    Workbooks(Temp).Sheets(1).Range("A1").CurrentRegion.Copy
    Workbooks("Recap.xls").Sheets(1).Activate
    If Cells(1, 1) = "" Then col = 1 Else col = Cells(1, 1).End(xlToRight).Column + 1
    Cells(1, col).Select
    ActiveSheet.Paste
    Workbooks(Temp).Close
  End If
  Temp = Dir
Loop
Range("A1").Select
Application.DisplayAlerts = True
End Sub

Si ce n'est pas ça, mets des exemples un peu plus concret dans tes fichiers, même si les données ne sont pas les bonnes. Il faut que l'on puisse avoir une idée de ce que tu as au départ et ce que tu veux à l'arrivée.

Yaloo
 

Pièces jointes

  • Recap.xls
    34.5 KB · Affichages: 168
  • Recap.xls
    34.5 KB · Affichages: 189
  • Recap.xls
    34.5 KB · Affichages: 192

TWIOH

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Merci à nouveau Yaloo,

J'ai récupéré mon classeur sur Google Docs et j'ai enlevé les données sensibles pour que tu te fasses une idée. En fait je suis assez content de mon bidouillage. La mise en forme des colonnes a besoin d'être revue. Ma feuille récapitulative change automatiquement si on modifie les info des autre feuilles et je pourrai faire mon publipostage à partir de WORD. Sans doute y aurait-il moyen de créer une macro qui automatise tout ce travail mais j'ai déjà bien été aidé car poser les questions permet aussi d'avancer soi-même vers une solution. Comme le fichier même réduit à 2 élèves reste trop volumineux pour le forum, je mets le lien vers le classeur sous Google docs:

https://docs.google.com/spreadsheet/ccc?key=0AmYnBDCP-ZPPdGhxeTJhNkRNSlJWeXltZjBveF91N2c

Bonne soirée
TWIOH:)
 

Yaloo

XLDnaute Barbatruc

TWIOH

XLDnaute Nouveau
Re : Concatener plusieurs fichiers Excel en un seul (recherche d'une variante)

Il y a 65 élèves mais lorsque je parle de fichier volumineux c'est uniquement parce qu'il y a un poids limité par le forum pour les pièces jointes. J'ai donc enlevé 63 lignes mais ça ne passait toujours pas alors j'ai pris l'option du lien sur google docs.
Merci de l'intérêt porté à ce travail.
Bonne noit
TWIOH
 

Discussions similaires

Réponses
2
Affichages
239

Statistiques des forums

Discussions
314 644
Messages
2 111 529
Membres
111 189
dernier inscrit
Laurent.