Sub CopyRange()
' http//philippe.tulliez.be
Dim rngSource As Range, rngSourceData As Range, rngTarget As Range, LasRowTarget As Long
With ThisWorkbook
Set rngSource = .Worksheets("Hebdomadaire").Range("A1").CurrentRegion
Set rngTarget = .Worksheets("Mensuel").Range("A1").CurrentRegion
End With
With rngSource
' Source sans les étiquettes de colonnes
Set rngSourceData = .Offset(1).Resize(.Rows.Count - 1)
End With
With rngTarget
rngSourceData.Copy rngTarget.Cells(.Rows.Count + 1, 1)
' Copie de la formule calculant la semaine
.Range(.Cells(.Rows.Count + 1, .Columns.Count), .Cells(.Rows.Count + rngSource.Rows.Count - 1, .Columns.Count)).Formula = "=WEEKNUM(A" & .Rows.Count + 1 & ",21)"
End With
rngSourceData.ClearContents ' Supprime le contenu de la source
Set rngSource = Nothing: Set rngSourceData = Nothing: Set rngTarget = Nothing:
MsgBox "Transfert terminé"
End Sub