Sub mensualtransfert()
olddate = CDate(Replace(Names("mensual").Value, "=", ""))
If Month(Date) > Month(olddate) Then
MsgBox "le dernier transfert mensuel a été fait le " & olddate & vbCrLf & " il est tant de transfért les ligne mensuel "
For Each ro In Range("tableau1").Rows
If ro.Cells(12) = "Mensuel" Then
Set newline = Range("tableau2").ListObject.ListRows.Add
newline.Range = ro.Value
newline.Range.Cells(1, 9) = DateSerial(2021, Month(Date) + 1, Day(DateSerial(2021, Month(Date) + 2, 0)))
End If
Next
' une fois fait on remet la date du names("mensual") a jour avec la date du moment
Names("mensual").RefersTo = CStr(Date)
End If
End Sub