Copie entre 2 fichiers en VBA

Bonjour,

je tente de faire une copie entre deux fichiers mais je n' y a rrive pas. Pourtant je sais que c'est plutot facile mais il n'y a rien à faire sa ne fonctionne pas. J'ai essayé plusieurs choses mais rien y fait. Pouvez vous m'aider?

Je joint le bout de code qui s'occupe de la copie.

Option Explicit

Public Classeur2 As Workbook, ClasseurPrincipale As Workbook

Sub Copie()

Dim x As Boolean
Dim d As Integer
Dim derligne As Long

Set Classeur2 = Workbooks(NomTest & ".xls")

'Set ClasseurPrincipale = ThisWorkbook      'Mon classeur qui va recevoir les valeurs

'copie entre fichier
            For d = 1 To 6  'Nombre de feuille
                Classeur2.Worksheets(d).Activate

                derligne = Classeur2.Worksheets(d).Cells(Rows.Count, 1).End(xlUp).Row
                x = derligne > 60000 And derligne < 120000

                If derligne = 1 Then GoTo Sauter_feuille
                If x And Classeur2.Worksheets(d).Name = "80_tir" Then
'diviser les valeurs en deux feuilles - Meme classeur
                    Classeur2.Worksheets(d).Activate
                    Range("A60001:H" & derligne).Select
                    Selection.Cut Destination:=Classeur2.Worksheets(d + 1).Cells(1, 1)
'collage (1/2)---------
                    Classeur2.Worksheets(d).Activate    '"80_tir"
                    Cells.Select
                    Selection.Copy
                    Windows(ClasseurPrincipale.Name).Activate
                    ClasseurPrincipale.Sheets("1").Select
                    Range("A1").Select
                    ActiveSheet.Paste
                    'Classeur2.Worksheets(d).Activate    '"80_tir"
                    'Classeur2.Worksheets(d).Range(Cells).Copy Destination:=ClasseurPrincipale.Sheets("1").Range("A1")
'collage (2/2)---------
                    Classeur2.Worksheets(d + 1).Activate    '"80_tir (2)
                    Cells.Select
                    Selection.Copy
                    Windows(ClasseurPrincipale.Name).Activate
                    ClasseurPrincipale.Sheets("2").Select
                    Range("A1").Select
                    ActiveSheet.Paste
                    'Classeur2.Worksheets(d + 1).Activate    '"80_tir (2)
                    'Classeur2.Worksheets(d + 1).Range(Cells).Copy Destination:=ClasseurPrincipale.Sheets("2").Range("A1")
                ElseIf x And Classeur2.Worksheets(d).Name = "80_ril" Then
'diviser les valeurs en deux feuilles - Meme classeur
                    Classeur2.Worksheets(d).Activate    '"80_ril"
                    Range("A60001:H" & derligne).Select
                    Selection.Cut Destination:=Classeur2.Worksheets(d + 1).Cells(1, 1)  '"80_ril (2)"
'collage (1/2)---------
                    Classeur2.Worksheets(d).Activate    '"80_ril"
                    Cells.Select
                    Selection.Copy
                    Windows(ClasseurPrincipale.Name).Activate
                    ClasseurPrincipale.Sheets("1").Select
                    Range("J1").Select
                    ActiveSheet.Paste
                    'Classeur2.Worksheets(d).Activate    '"80_ril"
                    'Classeur2.Worksheets(d).Range(Cells).Copy Destination:=ClasseurPrincipale.Sheets("1").Range("J1")
'collage (2/2)---------
                    Classeur2.Worksheets(d + 1).Activate  '"80_ril (2)"
                    Cells.Select
                    Selection.Copy
                    Windows(ClasseurPrincipale.Name).Activate
                    ClasseurPrincipale.Sheets("2").Select
                    Range("J1").Select
                    ActiveSheet.Paste
                    'Classeur2.Worksheets(d + 1).Activate  '"80_ril (2)"
                    'Classeur2.Worksheets(d + 1).Range(Cells).Copy Destination:=ClasseurPrincipale.Sheets("2").Range("J1")
                ElseIf Classeur2.Worksheets(d).Name = "50_tir" Then
'collage----------------
                    ClasseurPrincipale.Activate
                    If FeuilleExiste("3") = False Then
                        ClasseurPrincipale.Sheets.Add
                        Set Ws9 = Sheets("3")
                    End If
                    Classeur2.Worksheets(d).Activate    '"50_tir"
                    derligne = Classeur2.Sheets("3").Cells(Rows.Count, 1).End(xlUp).Row
                    Cells.Select
                    Selection.Copy
                    Windows(ClasseurPrincipale.Name).Activate
                    ClasseurPrincipale.Sheets("3").Select
                    Range("A" & derligne + 1).Select
                    ActiveSheet.Paste
                    'Classeur2.Worksheets(d).Activate    '"50_tir"
                    'Classeur2.Worksheets(d).Range(Cells).Copy Destination:=ClasseurPrincipale.Sheets("3").Range("A" & derligne + 1)
                ElseIf Classeur2.Worksheets(d).Name = "50_ril" Then
'collage----------------
                    ClasseurPrincipale.Activate
                    If FeuilleExiste("3") = False Then
                        ClasseurPrincipale.Sheets.Add
                        Set Ws9 = Sheets("3")
                    End If
                    Classeur2.Worksheets(d).Activate
                    derligne = Classeur2.Sheets("3").Cells(Rows.Count, 10).End(xlUp).Row
                    Cells.Select
                    Selection.Copy
                    Windows(ClasseurPrincipale.Name).Activate
                    ClasseurPrincipale.Sheets("3").Select
                    Range("J" & derligne + 1).Select
                    ActiveSheet.Paste
                    'Classeur2.Worksheets(d).Activate    '"50_tir"
                    'Classeur2.Worksheets(d).Range(Cells).Copy Destination:=ClasseurPrincipale.Sheets("3").Range("J" & derligne + 1)
                End If
Sauter_feuille:
            Next d
End Sub

Cordialement,

U_goffu

Rechercher des sujets similaires à "copie entre fichiers vba"