Re,
Comme tu n'a pas daigné mettre le tableau des légendes, j'ai tout écrit en dur dans le code (tu n'auras plus qu'à adapter les tranches horaires)... J'ai supprimé la validation de données dans toutes les cellules début / fin.
Le code :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PL As Range
Set PL = Range("A5").CurrentRegion.SpecialCells(xlCellTypeAllValidation)
If Application.Intersect(Target, PL) Is Nothing Then Exit Sub
Select Case Target.Value
Case ""
Target.Offset(0, -2).Resize(1, 2).ClearContents
Case "CA"
Target.Offset(0, -2).Value = ""
Target.Offset(0, -1).Value = ""
Case "CT"
Target.Offset(0, -2).Value = ""
Target.Offset(0, -1).Value = ""
Case "Réu. Equi."
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "Réu. Insti."
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "formation"
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "Perm"
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "récup."
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "CSE"
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "Qualité"
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "Num"
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "Restau"
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "A.Maladie"
Target.Offset(0, -2).Value = ""
Target.Offset(0, -1).Value = ""
Case "Délég."
Target.Offset(0, -2).Value = "06:00"
Target.Offset(0, -1).Value = "08:00"
Case "ferié"
Target.Offset(0, -2).Value = ""
Target.Offset(0, -1).Value = ""
Case "Récup.Ferié"
Target.Offset(0, -2).Value = ""
Target.Offset(0, -1).Value = ""
End Select
End Sub