Private Sub Worksheet_Calculate()
Dim ligmini&, nbsem&, dat As Date, sem$, ligfin As Variant, ligdeb&, P As Range, n As Byte
ligmini = 22 'modifiable
nbsem = 34 'modifiable
dat = Date 'modifiable pour tester
sem = Year(dat) & "S" & Format(Application.WeekNum(dat), "00")
ligfin = Application.Match(sem, [A:A])
If IsError(ligfin) Then ligfin = ligmini
ligdeb = ligfin - nbsem + 1
If ligdeb < ligmini Then ligdeb = ligmini
Set P = Range("A" & ligdeb & ":A" & ligfin)
With ChartObjects(1).Chart
For n = 1 To 3
.SeriesCollection(n).XValues = P
.SeriesCollection(n).Values = P.Offset(, n)...