XL 2010 Copier un tableau d'un classeur1 à un classeur2

anbar

XLDnaute Junior
Bonjour

Je ne connais pas grande chose en excel, je reviens vers vous pour solliciter votre aide et merci d'avance.

Je voudrais savoir si on peut copier un tableau de (feuil1 classeur1) vers feuil1 classeur2) en utilisant un code vba ou une macro

ci joints les deux fichiers
Merci
 

Pièces jointes

  • Classeur1.xlsm
    11.5 KB · Affichages: 26
  • Classeur2.xlsm
    7.8 KB · Affichages: 23

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Anbar, bonjour le forum,

Si les deux classeurs sont ouverts et le classeur 2 n'est pas renommé, le code ci-dessous (à placer dans le classeur1) devrait faire l'affaire :

VB:
Sub Macro1()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)

Set CS = ThisWorkbook 'définit le classeur source CS
Set OS = CS.Worksheets("Feuil1") 'définit l'onglet source OS
Set CD = Workbooks("Classeur2.xlsm") 'définit le classeur destination CD
Set OD = CD.Worksheets("Feuil1") 'définit l'onglet destination OD
'copie l'ensemble des cellules adjacentes à A1 de l'onglet OS et la colle dans la cellule A1 de l'onglet OD
OS.Range("A1").CurrentRegion.Copy OD.Range("A1")
End Sub

Le fichier :
 

Pièces jointes

  • Classeur1.xlsm
    18.9 KB · Affichages: 20

vgendron

XLDnaute Barbatruc
Hello

tout est possible, faut juste etre un peu plus précis dans le besoin..
est ce que le second classeur existe déjà? (méthode 1 et 2)
faut il le créer au moment de la copie du tableau? voir méthode 3

VB:
Sub Macro1()
'
' Macro1 Macro
'

'
    '1ere méthode par un simple copier (Ctrl+C) coller(Ctrl+V)
    Range("A1:R8").Select
    Selection.Copy
    Windows("Classeur2.xlsm").Activate
    Range("A1").Select
    ActiveSheet.Paste
   
    Windows("Classeur1.xlsm").Activate
    Application.CutCopyMode = False
   
    '2eme méthode: copie de la feuille dans le classeur 2
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy After:=Workbooks("Classeur2.xlsm").Sheets(3)
    Range("B16").Select
   
    '3eme méthode: copie de la feuille dans un NOUVEAU Classeur --> pour l'exemple, on enregistre sous le nom "Classeur2.xlsx
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy
    ActiveWorkbook.SaveAs Filename:="C:\Users\vgendron\Documents\Classeur2.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
 

anbar

XLDnaute Junior
Hello

tout est possible, faut juste etre un peu plus précis dans le besoin..
est ce que le second classeur existe déjà? (méthode 1 et 2)
faut il le créer au moment de la copie du tableau? voir méthode 3

VB:
Sub Macro1()
'
' Macro1 Macro
'

'
    '1ere méthode par un simple copier (Ctrl+C) coller(Ctrl+V)
    Range("A1:R8").Select
    Selection.Copy
    Windows("Classeur2.xlsm").Activate
    Range("A1").Select
    ActiveSheet.Paste
  
    Windows("Classeur1.xlsm").Activate
    Application.CutCopyMode = False
  
    '2eme méthode: copie de la feuille dans le classeur 2
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy After:=Workbooks("Classeur2.xlsm").Sheets(3)
    Range("B16").Select
  
    '3eme méthode: copie de la feuille dans un NOUVEAU Classeur --> pour l'exemple, on enregistre sous le nom "Classeur2.xlsx
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy
    ActiveWorkbook.SaveAs Filename:="C:\Users\vgendron\Documents\Classeur2.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub


Bonjour

J'ai bien testé le 1er code ca marche très bien et c'est exactement ce que je cherche.

je vous remercie pour votre aide.
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Copier par mois
Réponses
23
Affichages
463

Statistiques des forums

Discussions
312 759
Messages
2 091 791
Membres
105 074
dernier inscrit
JPATOUNE