Copier plusieurs sheets d'un classeur dans un seul

  • Initiateur de la discussion Zeusos
  • Date de début
Z

Zeusos

Guest
j'aimerais copier les contenus de plusieurs sheets d'un classeur dans un seul, sans connaitre le nombre de sheets au départ et sans connaitre le nombre de cellules de chaque sheets.

Cad qu'il faut que ma macro crée un nouveau sheet et qu'elle copie et colle (collage spécial) les contenus de tous les sheets dans ce nouveau sheet que la macro a crée.

Le problème, c que je ne sais pas si c possible de le faire, ne connaissant pas le nb de sheets et surtout combien il ya de cellules dans chaque sheet.

En fait, je crois que le seul moyen est de faire une détection d'une cellule vide... du genre "Tant que Cellule non vide --- Copier le contenu du sheet dans le nouveau sheet"

Qu'en pensez-vous ?

Merci d'avance.
 
V

vincent

Guest
bonjour
essaye ca.
sachant que 'classeur12' est le nom du classeur dans lequel tu veux copier tes sheets et 'test.xls' celui du classeur a copier.il faut que les deux classeur soient ouvert.

Sub transfert()
With Workbooks("classeur12")
For i = 1 To Workbooks("test.xls").Sheets.Count
.Sheets.Add.Move after:=.Sheets(.Sheets.Count)
Workbooks("test.xls").Sheets(i).Cells.Copy
.Sheets(.Sheets.Count).Paste
Next
End With
End Sub
 

Laosurlamontagne

XLDnaute Occasionnel
Re : Copier plusieurs sheets d'un classeur dans un seul

Bonjour!

Je réactive cette discussion (ou ressuscite plutôt!) avec la question suivantes:

Avec le même objectif décrit par Zeusos, existe t-il un équivalent avec :

Code:
With ThisWorkbook
 .Sheets(array("feuille_1","feuille_2")).Copy
    ActiveWorkbook.SaveAs Filename:= _
    "\" & Nomfile & ".xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 End With

Sachant que le nombre de "feuille_x" est inconnu?
 

Discussions similaires