Option Explicit
Sub DateSuivante()
Feuil2.[H2].Value = Feuil2.[H2].Value + 1
PlanOccupation
End Sub
Sub DatePrécédente()
Feuil2.[H2].Value = Feuil2.[H2].Value - 1
PlanOccupation
End Sub
Sub PlanOccupation()
Dim TDon(), L&, TRés(), LR&, CR&, LaDate As Date, N&
TDon = Feuil3.ListObjects(1).DataBodyRange.Value
TRés = Feuil2.[C5:N19].Value
For LR = 3 To 15 Step 3: For CR = 1 To 12: TRés(LR, CR) = Empty: Next CR, LR
LaDate = Feuil2.[H2].Value
For L = 1 To UBound(TDon, 1)
If TDon(L, 11) <= LaDate And TDon(L, 12) > LaDate Then
CR = TDon(L, 4): LR = 18 - (CR \ 100) * 3: CR = (CR Mod 100) * 2
N = TRés(LR, CR - 1) + 1
TRés(LR, CR - 1) = N
If N > 1 Then
TRés(LR, CR) = TRés(LR, CR) & vbLf & TDon(L, 5)
Else: TRés(LR, CR) = TDon(L, 5)
End If: End If: Next L
Feuil2.[C5:N19].Value = TRés
End Sub