Option Explicit
Private Sub CommandButton1_Click()
Dim Rw As Long, Cel As Range, Target_Row As Long, Cl As Long, Rh As Long
Target_Row = 27
' On cherche la dernière cellule vide en colonne M
Rw = Cells(Rows.Count, "M").End(xlUp).Row + 1
If Rw >= Target_Row Then ' on évite les lignes qui ne sont pas sous "OFFRES SITES"
' on assigne les valeurs
Cells(Rw, "M").Resize(, 3) = Array(Cells(2, "A").Value, Cells(2, "B").Value, Cells(6, "B").Value)
' plage à transférer : TS_Offre
' On cherche la dernière colonne vide en ligne Target_Row
Cl = Cells(Target_Row, Columns.Count).End(xlToLeft).Column + 1
If Cl > Columns("P").Column Then
Cells(Target_Row, Cl).Resize([Ts_Offre].Rows.Count).Value = [Ts_Offre].Value
Cells(Target_Row, Cl).Resize([Ts_Offre].Rows.Count, 3).HorizontalAlignment = xlCenter
Cells(Target_Row, Cl).Resize([Ts_Offre].Rows.Count, 3).RowHeight = Rows(Target_Row).Height
For Each Cel In Cells(Target_Row, Cl).Resize([Ts_Offre].Rows.Count)
If Not Cel.MergeCells Then Cel.Resize(, 3).Merge
Next
End If
End If
End Sub