Fonction range pastespecial

Bonjour a tous

j'ai ce code ci dessous, je cherche que les valeurs copiées dans la feuil2, soient copiées également dans la feuil7

si quelqu'un peut m'aider

merci merci !!!!

Sub simple()
Dim LR As Long
Dim Arr
Arr = Worksheets(1).Range(Worksheets(1).Cells(40, 23), Worksheets(1).Cells(18, 32))
LR = (Worksheets(2).Cells(Rows.Count, 1).End(xlUp).Row) + 2
With Worksheets(1)
Worksheets(2).Cells(LR, 1).Resize(UBound(Arr), UBound(Arr, 2)) = .Range(.Cells(40, 23), .Cells(18, 32)).Value
End With
End Sub

Bonjour,

Pour copier/coller des valeurs, comme vous le mentionnez dans le titre du fil vous pouvez utiliser

Range.PasteSpecial method (Excel) | Microsoft Learn

Ainsi, si j'ai bien compris votre code,

Sub simple()
' copie de feuille numero 1
Worksheets(1).Range(Worksheets(1).Cells(40, 23), Worksheets(1).Cells(18, 32)).Copy
' collage dans feuille numero 2
Worksheets(2).Cells(LR, 1).PasteSpecial xlPasteValues
' collage dans feuille numero 7
Worksheets(7).Cells(LR, 1).PasteSpecial xlPasteValues
' deselection de la copie
Application.CutCopyMode = False
End Sub

L'avantage est que vous n'avez pas besoin de donner les dimensions de la zone d'arrivée, seulement la case en haut à gauche.

Bonjour,
Une proposition ?
Cdlt.

Sub simple()
Dim r As Range, n As Long

    Set r = Worksheets(1).Cells(18, 23).Resize(23, 10)

    With Worksheets(2)
        n = .Cells(.Rows.Count, 1).End(xlUp).Row + 2
        .Cells(n, 1).Resize(23, 10).Value = r.Value
    End With

    With Worksheets(7)
        n = .Cells(.Rows.Count, 1).End(xlUp).Row + 2
        .Cells(n, 1).Resize(23, 10).Value = r.Value
    End With

End Sub
Rechercher des sujets similaires à "fonction range pastespecial"