Hello,
A tester (Pour le tableau M/J/J/A) et à placer à l'ouverture du fichier :
Sub VerrouilleSemaine()
Dim bytTabMois1 As Byte
Dim j As Integer, i As Integer, x As Integer
'Premiere ligne du tableau
bytTabMois1 = 5
'Boucle sur les colonnes B/G/L/R
For j = 2 To 16 Step 5
i = bytTabMois1
x = 0
Do While Cells(i, j).Value <> Empty 'Boucle sur les lignes de la colonnes
'Si pas dimanche, on verrouille du dimanche passé jusqu'au premier jour du mois,
'si dimanche on verrouille de la date du jour jusqu'au premier jour
If Cells(i, j).Value = Range("t1") Then If Weekday(Range("t1"), 2) <> 7 Then x = i - Weekday(Range("t1"), 2) Else: x = i
i = i + 1
Loop
If x = 0 Then x = (i - 1)
Range(Cells(bytTabMois1, j), Cells(i, j)).Offset(, 2).Cells.Locked = True
Next j
ActiveSheet.Protect
End Sub