Sub chomPartiel()
Const motif As String = "CHOMAGE PARTIEL"
Dim nom, dict, sem, k
Dim lig As Long, lig2 As Long, col As Long, col2 As Long
Set dict = CreateObject("Scripting.Dictionary")
With Sheets("ABSENCE JOUR")
nom = .[A1].CurrentRegion
.[E2].CurrentRegion.Offset(1).ClearContents
For lig = 3 To UBound(nom)
If Not dict.exists(nom(lig, 1)) Then dict(nom(lig, 1)) = dict.Count + 1
Next lig
ReDim sem(1 To dict.Count, 1 To 6)
lig = 0
For Each k In dict
lig = lig + 1
sem(lig, 1) = k
For col = 2 To 6
sem(lig, col) = motif
Next col
Next k
For lig = 3 To UBound(nom)
' lig-col dans sem
lig2 = dict(nom(lig, 1))
col2 = Weekday(nom(lig, 2), vbMonday) + 1
If sem(lig2, col2) = motif Then sem(lig2, col2) = vbNullString
Next lig
.[D3].Resize(UBound(sem), 6) = sem
End With
Set dict = Nothing
End Sub