Copier d'un classeur à un autre

Bonjour

Donc j'arrive bien à générer mon nouveau fichier Excel

Mais je n'arrive pas à copier/coller les valeurs présent dans mon classeur de base vers l'autre

Information

Fichier de base

  • Nom : Extraction KRC2-V4.xlsm
  • Feuille : Rename
Zone à copier : BE1:BH500

Fichier de Sortie

  • Nom : Prend la valeur "Name" en .xlsx
  • Feuille : Prend la valeur "Name"
Zone ou coller : A1

Donc je bute sur la ligne WorkBooks

sans cette ligne ça fonctionne niquel

Sub Nouveau()
Dim Name As String
Dim Direction As String

  Name = Cells(6, 1).Value
  Direction = Cells(2, 1).Value
  Application.SheetsInNewWorkbook = 1

    With Workbooks.Add
      .Sheets(1).Name = Name
      'Workbooks("Extraction KRC2-V4.xlsm").Sheets("Rename").Range("BE1:BH500").Copy .Sheets(Name).Range("A1")
      .SaveAs Direction & Name, FileFormat:=51      ' Pourquoi xlsm
      .Close                                    ' Fermeture du fichier
      End With
End Sub

Bonjour,

à tester,

Sub Nouveau()
Dim Name As String
Dim Direction As String
Dim wk1 As Workbook, wk2 As Workbook

Name = Cells(6, 1).Value
Direction = Cells(2, 1).Value
Application.SheetsInNewWorkbook = 1

Set wk1 = ActiveWorkbook
Set wk2 = Workbooks.Add

wk1.Sheets("Rename").Range("BE1:BH500").Copy wk2.Sheets(1).Range("A1")
wk2.Sheets(1).Name = Name
wk2.SaveAs Direction & Name, FileFormat:=51      ' Pourquoi xlsm
wk2.Close                                    ' Fermeture du fichier
End Sub

J'ai une erreur sur cette ligne

wk1.Sheets("Rename").Range("BE1:BH500").Copy wk2.Sheets(1).Range("A1")

erreur 438

Propriété ou méthode non gérée par cet objet

Enfaite j'avais zappé un caractère

La j'ai un souci c'est que les lignes que je veux copier sont des formules et donc quand ça copie dans l'autre classeur ça me copie aussi les formules et non les valeurs

Enfaite j'avais zappé un caractère

La j'ai un souci c'est que les lignes que je veux copier sont des formules et donc quand ça copie dans l'autre classeur ça me copie aussi les formules et non les valeurs

re,

remplace la ligne:

wk1.Sheets("Rename").Range("BE1:BH500").Copy wk2.Sheets(1).Range("A1")

par:

wk2.Sheets(1).Range("A1:D500") = wk1.Sheets("Rename").Range("BE1:BH500").Value

Merci beaucoup c'est génial

Voila au début j'avais fais simple en sélectionnant une plage mais je souhaiterais modifier en pouvant changer le nombre de ligne copier (Num change suivant le nombre de ligne)

wk2.Sheets(1).Range("A1:D500") = wk1.Sheets("Rename").Range("BE1:BH500").Value

Mais avec mes modifications j'ai une erreur et je ne vois pas ou

wk2.Sheets(1).Range(Cells(1, 1), Cells(Num, 4)) = wk1.Sheets("Rename").Range(Cells(1, 57), Cells(Num, 60)).Value

re,

pour modifier le nombre de ligne,

essai comme ça,

wk2.Sheets(1).Range("A1:D" & Num) = wk1.Sheets("Rename").Range("BE1:BH"  & Num).Value

Oki je cherche vraiment à faire compliqué

Merci encore je vais cloturer le sujet merci à toi

Rechercher des sujets similaires à "copier classeur"