Corriger un petit code

Bonjour, je voudrais copier les colonnes A, D, F de la feuille1 dans colonnes A, D, F de la feuille3, mais seulement à partir de la ligne2 . J'ai mis le code suivant mais il ne marche pas, que faut-il changer? Merci

Sub MACRO3()

Sheets("Feuil1").Range("A2").Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Sheets("Feuil3").Range("A2")

Sheets("Feuil1").Range("D2").Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Sheets("Feuil3").Range("D2")

Sheets("Feuil1").Range("F2").Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Sheets("Feuil3").Range("F2")

Close

End Sub

Bonjour

A mon avis ce, il faudrait modifier ton mode de sélection Sheets("Feuil1").Range("A2").Range(Selection, Selection.End(xlDown)).Copy

puis rajouter après copy, la destination (destination:=) avant de l'indiquer.

Voici ce que ça donne. Testé et fonctionne.

Sheets("Feuil1").Range("A2", Selection.End(xlDown)).Copy Destination:=ThisWorkbook.Sheets("Feuil3").Range("A2")

A voir de ton coté.

Bonjour,

Une proposition.

Option Explicit
Public Sub Macro3()
Dim wss As Worksheet, wsd As Worksheet
    Set wss = Worksheets("Feuil1")
    Set wsd = Worksheets("Feuil2")
    Application.ScreenUpdating = False
    With wss
        .Range("A2", .Range("A2").End(xlDown)).Copy Destination:=wsd.Range("A2")
        .Range("D2", .Range("D2").End(xlDown)).Copy Destination:=wsd.Range("D2")
        .Range("F2", .Range("F2").End(xlDown)).Copy Destination:=wsd.Range("F2")
    End With
    Set wss = Nothing: Set wsd = Nothing
End Sub
Rechercher des sujets similaires à "corriger petit code"