Sub version_II()
Dim PremierLundi, DernierJour, x
noAnnee = InputBox("Choix de l'année?", "Calendrier", Year(Date))
PremierLundi = DateSerial(noAnnee, 1, 4) - Weekday(DateSerial(noAnnee, 1, 4), vbMonday) + 1
MsgBox _
"Le premier lundi de la 1ère semaine est: " & Chr(13) & Format(PremierLundi, "dddd d mmmm yyyy"), _
vbInformation, "Année:" & noAnnee
DernierJour = DateSerial(noAnnee, 12, 31)
x = Int(DernierJour - PremierLundi) / 7 + 1
With Cells(1, 2)
.Value = PremierLundi
.Offset(, -1) = 1
.Resize(x).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlWeekday, Step:=5
.Offset(, -1).Resize(x).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1
.Resize(x).NumberFormatLocal = "jjjj mmmm aaaa"
End With
End Sub