Coller des formules sur une plage de cellules

Bonjour,

Je code une macro qui sélectionne une ligne de plusieurs cellules avec des formules et je les colle sur un nombre de lignes donné en dessous. Cependant, le collage ne fonctionne pas et je ne sais pas pourquoi.

Sub Test()
    Sheets(1).Select
    Range("M14:AH14").Select
    Selection.Copy
    Range("M15").Select
    Range(Selection.Offset(586), ActiveCell.Offset(0, 22)).Select
    Selection.PasteSpecial Paste:=xlPasteValues
End Sub

Je sélectionne ma cellule M15, je descends de 586 lignes en dessous, je décale de 22 colonnes, ça, ça marche, ça sélectionne bien ma plage de cellule. (J'ai testé)

Quand je colle, ça colle uniquement la ligne en dessous, et non toutes les lignes que j'ai indiquées lors de la sélection. J'ai peut-être oublié un truc, merci !

Bonjour cyra7802

1) votre sélection copiée n'était pas de la même longueur que votre sélection de collage

2) Evitez de faire des Select, cela ne sert à rien, quand on sait manipuler les objets

Sub Test()
  With Sheets(1)
    .Range("M14:AH14").Copy
    .Range(.Cells(15, "M"), .Cells(15, "M").Offset(586, 21)).PasteSpecial Paste:=xlPasteValues
  End With
End Sub

Ou, plus simple

Sub Test()
  With Sheets(1)
    .Range("M14:AH14").Copy
    .Range("M15").Resize(586, 22).PasteSpecial Paste:=xlPasteValues
  End With
End Sub

A+

Rechercher des sujets similaires à "coller formules plage"