Fusionner plusieurs feuilles Excel en une seul

jynkro

XLDnaute Nouveau
Bonjours,

comme dit dans le titre je voudrai fusionner plusieurs feuille excel en une seul en gardant toute les cellules de chacune.
J'ai recherché sur votre forum, j'ai trouvé une macro que j'ai fait et qui fonctionne mais le problème c'est que sa me prend seulement que les 6 premières colonnes et pas le reste.

voila la macro :
Sub consolide_onglets()
Sheets("c").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
Range(Sheets(s).[A2], Sheets(s).[A65000].End(xlUp).End(xlToRight)).Copy _
[A65000].End(xlUp).Offset(1, 0)
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Si vous pouvez m'aider.

Merci bien.
 

jhofman

XLDnaute Occasionnel
Re : Fusionner plusieurs feuilles Excel en une seul

bonjour

fait un essai avec ceci
Cells.Find("*", , xlValues, , 2, 2).address
Code:
Sub consolide_onglets()
Sheets("c").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
Range(Sheets(s).[A2], Sheets(s).Cells.Find("*", , xlValues, , 2, 2).Address).Copy _
[A65000].End(xlUp).Offset(1, 0)
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
pas testé
 

JNP

XLDnaute Barbatruc
Re : Fusionner plusieurs feuilles Excel en une seul

Bonjour Jynkro et bienvenue, JHofman :),
Tu as certainement une entête de colonne vide en 7, ce qui arrête le
Code:
[I]Range(Sheets(s).[A2], Sheets(s).[[B][COLOR=red]A[/COLOR][/B]65000].End(xlUp).[COLOR=red][B]End(xlToRight)[/B][/COLOR]).Copy _[/I]
[I][A65000].End(xlUp).Offset(1, 0)[/I]
qui part de A et s'arrête à la première cellule vide. Essaie
Code:
[I]Range(Sheets(s).[A2], Sheets(s).[[COLOR=red][B]AA[/B][/COLOR]65000].End(xlUp).End[COLOR=red][B](xlToLeft)[/B][/COLOR]).Copy _[/I]
[I][A65000].End(xlUp).Offset(1, 0)[/I]
Bonne journée :cool:
 

vbacrumble

XLDnaute Accro
Re : Fusionner plusieurs feuilles Excel en une seul

Bonjur


Ca marche pour moi comme dirait Rick ;)

Code:
Sub consolide_onglets()
Dim s&
Sheets("c").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
Range(Sheets(s).[A2], Sheets(s).[A65000].End(xlUp).End(xlToRight)).Copy _
Sheets("c").[A65000].End(xlUp).Offset(1, 0)
Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
 

jhofman

XLDnaute Occasionnel
Re : Fusionner plusieurs feuilles Excel en une seul

j'ai testé et ça marche ...


avec la feuille "Log" en tête" et cela ajoute le feuilel suivantes
Code:
Sub consolide_onglets()
Dim s&
Sheets("log").Cells.ClearContents
For s = 2 To Sheets.Count

Sheets(s).Select

r = Sheets(s).Cells.Find("*", Range("A1"), xlFormulas, , xlByRows, xlPrevious).Row
c = Sheets(s).Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns, xlPrevious).Column


Range(Cells(1, 1), Cells(r, c)).Select
Range(Sheets(s).[A1], Sheets(s).Cells(r, c)).Copy _
Sheets("log").[A65000].End(xlUp).Offset(0, 0)
Next s
On Error Resume Next
End Sub
 

Pièces jointes

  • consolidesOnglets.xls
    32.5 KB · Affichages: 912
  • consolidesOnglets.xls
    32.5 KB · Affichages: 972
  • consolidesOnglets.xls
    32.5 KB · Affichages: 1 005
Dernière édition:

jhofman

XLDnaute Occasionnel
Re : Fusionner plusieurs feuilles Excel en une seul

Bonjour le forum , vbacrumble, jynkro


Il faut préciser pour jynkro que l'onglet récap "c" ou "log" (dans mon exemple) doit être placé en premier.
et que le code de vbacrumble implique que toutes les feuilles aient la même structure avec une première ligne d'entête identique qui n'est reprise qu'une seule fois au début.
sinon effectivement ton code vbacrumble fonctionne très bien. :)
désolé d'être passé derrière.
 

jynkro

XLDnaute Nouveau
Re : Fusionner plusieurs feuilles Excel en une seul

Désolée de pas avoir poster avant,

oui mes feuille n'était pas exactement tous pareil donc c'est surement pour sa que sa ne marchez pas.

Sinon jhofman, ta macro fonctionne nikel c'est du tout bon ^^.

Je vous remercie de m'avoir aidé ;)
 

zizoufan

XLDnaute Occasionnel
Re : Fusionner plusieurs feuilles Excel en une seul

j'ai testé et ça marche ...


avec la feuille "Log" en tête" et cela ajoute le feuilel suivantes
Code:
Sub consolide_onglets()
Dim s&
Sheets("log").Cells.ClearContents
For s = 2 To Sheets.Count

Sheets(s).Select

r = Sheets(s).Cells.Find("*", Range("A1"), xlFormulas, , xlByRows, xlPrevious).Row
c = Sheets(s).Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns, xlPrevious).Column


Range(Cells(1, 1), Cells(r, c)).Select
Range(Sheets(s).[A1], Sheets(s).Cells(r, c)).Copy _
Sheets("log").[A65000].End(xlUp).Offset(0, 0)
Next s
On Error Resume Next
End Sub


Bonjour jhofman,

j'ai pris ton fichier pour l'adapter, mais j'ai un problème : il me copie même les entêtes.
Merci de ton aide.
Ci-joint mon fichier

Cordialement,
 

Pièces jointes

  • consolidesOnglets.xls
    41.5 KB · Affichages: 326
  • consolidesOnglets.xls
    41.5 KB · Affichages: 328
  • consolidesOnglets.xls
    41.5 KB · Affichages: 359

Oliver77

XLDnaute Occasionnel
Re : Fusionner plusieurs feuilles Excel en une seul

Salut,

Je te propose cette solution.
En cherchant sur le forum et/ou le net tu as plein d'exemples.


cordialement,
Oliver77
 

Pièces jointes

  • Conso onglets lea75.xls
    98 KB · Affichages: 758
  • Conso onglets lea75.xls
    98 KB · Affichages: 787
  • Conso onglets lea75.xls
    98 KB · Affichages: 877

zizoufan

XLDnaute Occasionnel
Re : Fusionner plusieurs feuilles Excel en une seul

Salut,

Je te propose cette solution.
En cherchant sur le forum et/ou le net tu as plein d'exemples.


cordialement,
Oliver77

Merci Oliver cela marche parfaitement. Seul souci j'ai envie de le partager sur serveur et là il me dit impossible d'enregistrer avec macro. je sais si tu as une piste à me donner.
grand merci à toi et à l'équipe ED.

Cordialement,
 

Discussions similaires

Réponses
2
Affichages
121

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro