Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim annee As Integer Dim i As Integer, j As Integer, t As Integer annee = 2009 For i = 1 To 12 t = 0 For j = 1 To 21 If Weekday(DateSerial(annee, i, j)) = vbFriday Then t = t + 1 ' un vendredi de plus If t = 3 Then Range("E1").Offset(i, 0).Value = DateSerial(annee, i, j) Exit For End If End If Next j Next i
Public Sub TroisiemeVendrediDuMois() Const Annee As Integer = 2009 Dim Mois As Integer Dim CalculDate As Date For Mois = 1 To 12 'Date du 1er jour du mois CalculDate = DateSerial(Annee, Mois, 1) 'Date du 1er vendredi du mois If Weekday(CalculDate, vbMonday) < 5 Then CalculDate = DateAdd("d", 5 - Weekday(CalculDate, vbMonday), CalculDate) Else If Weekday(CalculDate, vbMonday) > 5 Then CalculDate = DateAdd("d", 7 - Weekday(CalculDate, vbMonday) + 5, CalculDate) End If End If 'Date du 3ème Vendredi du mois Debug.Print DateAdd("ww", 2, CalculDate) Next Mois End Sub