Hello,
De retour de vacances, mais toujours sur ce même fichier!
2019 arrive, du coup j'ai voulu ajouter ces dates au fichier ci-joint sans succès, et je ne comprends pas pourquoi puisque c'est une fonction Ubound qui est utilisée... Des pistes?
NbMois = Month(TabPlan(1, UBound(TabPlan, 2)))
DernierJour = TabPlan(1, UBound(TabPlan, 2))
nb = Int((DernierJour - DateSerial(Year(DernierJour), Month(DernierJour), 1)) / 7) + 1
NbPériode = (NbMois - 1) * 4 + nb
ReDim TabFin(1 To UBound(TabOcs, 1), 1 To 11 + NbPériode)
Dim D As Date
Dim fm As Date
D = DateSerial(2018, 1, 1) 'premier jour de la première période = 01/01/2018
dateMax = TabOcs(1, UBound(TabOcs, 2)) 'dernière date du tableau dans Planning_Ocs 2018
j = 12 'pour commencer à la colonne E
NumPériode = 0
While D <= dateMax And j <= UBound(TabOcs, 2) 'tant qu'on a pas parcouru toutes les dates
fm = WorksheetFunction.EoMonth(D, 0) 'fin mois
TabFin(2, j) = WorksheetFunction.Min(D, fm) 'on met le minimum entre la date et la fin du mois
j = j + 1 'colonne suivante pour TabFin
NumPériode = NumPériode + 1 'nombre de période dans le mois en cours
If Month(D + 7) = Month(D) And NumPériode < 4 Then '4 périodes par mois
D = D + 7
Else
D = fm + 1
NumPériode = 0
End If
Wend
J'en profite pour revenir sur la question du format conditionnel de la police: qu'est6ce qui fait que la couleur n'est pas celle du fond de la cellule comme je pensais l'avoir écrit dans la macro?
With .Range("L4").Resize((UBound(TabFin, 1) - 2), UBound(TabFin, 2) - 11)
'Rouge si 0 ou 4
.FormatConditions.Add Type:=xlExpression, Formula1:="=OU(4;0)"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
With .Font
.Color = 255
End With
.FormatConditions(1).StopIfTrue = False