Oui, on ne peut pas faire autrement qu'avec une macro
dans ThisWorkbook :
Private Sub Workbook_Open()
backup_sem
End Sub
dans un module standard :
Sub backup_sem()
Dim sem As String, c As Range
sem = Year(Date) & "-" & Format(DatePart("ww", Date, vbMonday, vbFirstFourDays), "00")
With Sheets("Feuil1")
Set c = .Rows(9).Find(sem, , xlValues, xlWhole)
If c Is Nothing Then
Set c = .Cells(9, Columns.Count).End(xlToLeft).Offset(, 1)
c = sem
c.Offset(1).Resize(6) = .Range("C2:C7").Value
End If
End With
End Sub