Bonsoir Patrick85, et meilleurs voeux également,
Ci-joint ton fichier modifié avec une macro événementielle qui n'agit que si une des cellules d'heures journalières est modifiée.
Pour simplifier la programmation, j'ai nommé la plage des heures sous le nom de "HeuresJours".
J'espère que cela te conviendra.
Cordialement.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ColSem As Long
If Intersect(Range("Heuresjours"), Target) Is Nothing Then Exit Sub
ColSem = 9 + Right(Range("C3"), 2) * 2
Cells(Target.Row, ColSem) = IIf(Cells(Target.Row, 9) > 0, Cells(Target.Row, 9), "")
End Sub