Copier coller feuille complete

Bonjour,

Je souhaite via une macro ouvrir un document, copier le tableau que celui-ci contient (taille variable) et le coller sur ma feuille.

Voici mon code actuel:

Sub macro2()

    ChDir "C:\"
    Workbooks.Open Filename:="C:\"
    Cells.Select
    Selection.Copy
    Windows("Bilan_2017.xlsm").Activate
    Worksheets("Tableau2").Activate
    Worksheets("Tableau2").Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Workbooks("Export2.MHTML").Close

End Sub

Je pense que tous le tableau est copié, même les cases vides ce qui explique la taille (+ de50mo) du fichier Excel.

Le tableau peut au maximum avoisiner les 15000 lignes.

Dois-je modifier le code ou c'est un problème qui ne concerne pas ce sujet ?

Merci d'avance !

Bon WE

Bonjour

Il faudrait voir le fichier qui comprend les cellules à copier et pouvoir dimensionner le tableau

Sinon avec votre code simplifié

Sub macro2()
ChDir "C:\"
Workbooks.Open Filename:="C:\"
ThisWorkbook.ActiveSheet.Cells.Copy Workbooks("Bilan_2017.xlsm").Worksheets("Tableau2").Range("A1")
Application.CutCopyMode = False
Workbooks("Export2.MHTML").Close
End Sub

Cordialement

Merci du retour !

Le tableau est définissable sur 14 colonnes (fixe) pour 15 000 lignes (maximum)

Re

Possible d'avoir un fichier exemple sinon j'ai besoin de savoir :

  • La première cellule en haut à gauche est en A1
  • La dernière colonne est la N
  • Le nom de la feuille à copier (sauf si le fichier ne contient qu'une feuille)

Me préciser aussi le pourquoi de l'instruction Workbooks.Open Filename:="C:\" car là vous n'ouvrez rien en fait

A vous relire

Bonjour Dan,

Merci du retour !

Le Copier Coller commence en A1, jusqu'à la colonne O, et ligne max 20 000. J'ai simplement enlevé le nom mais peut importe, déjà avec une feuille serait parfait,je peut modifier le chemin d'accès par la suite

Bonne après-midi !

Re

Voici à tester

Sub macro2()
Dim lig As Integer
ChDir "C:\"
Workbooks.Open Filename:="C:\"
With ThisWorkbook.ActiveSheet
    lig = .Cells.Find("*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    .Range("A1:O" & lig).Copy Workbooks("Bilan_2017.xlsm").Worksheets("Tableau2").Range("A1")
End With
Application.CutCopyMode = False
Workbooks("Export2.MHTML").Close
End Sub

Je ne vois pas à quoi sert cette instruction --> Workbooks("Export2.MHTML").Close

Si ok, merci de cloturer le fil en cliquant sur le V vert à coté du bouton EDITER lors de votre réponse

Cordialement

Rechercher des sujets similaires à "copier coller feuille complete"