Private Sub Troisieme_Mercredi()
Dim i As Byte
For i = 1 To 24
With Cells(i, 2)
.Value = Merc(Cells(1, 1).Value, i)
.NumberFormat = "dddd dd mmmm yyyy"
End With
Next i
End Sub
Public Function Merc(ByVal annee As Integer, ByVal mois As Byte)
Dim datef As Date
If mois > 24 Then Exit Function
datef = DateSerial(annee, mois, 1)
If Weekday(datef, vbWednesday) = 1 Then
Merc = DateSerial(annee, mois, 15)
Else
Merc = DateAdd("d", datef, 22 - Weekday(datef, vbWednesday))
End If
End Function