Rebonsoir,
l'erreur provient du fait que je faisait un test sur "S" ou "D" pour déterminer si le jour n'est pas un jour de week-end. dans ton fichier il y a partout la valeur J.
j'ai adapté le code pour remplir la cellule en fonction de la couleur (255=rouge), ce qui du coup offre également une solution pour les autres jours fériés (à condition d'utiliser le même code couleur.
Sub remplir()
i = 2
While Worksheets("sheet1").Cells(i, 2) <> ""
tache = Worksheets("sheet1").Cells(i, 1)
dd = Worksheets("sheet1").Cells(i, 2)
df = Worksheets("sheet1").Cells(i, 3)
md = Month(dd)
jd = Day(dd)
mf = Month(df)
jf = Day(df) + 1
l = jd + 1
mc = md
c = mc * 3 + 1
With Worksheets("sheet2")
encore = True
While encore
If .Cells(l, c).Interior.Color <> 255 Then .Cells(l, c) = tache
If l = jf And mc = mf Then
encore = False
Else
l = l + 1
If .Cells(l, c - 1) = "" Then l = 2: mc = mc + 1: c = mc * 3 + 1
End If
Wend
End With
i = i + 1
Wend
End Sub