OVH Cloud OVH Cloud

DATE

3 réponses
Avatar
JLS
Bonjour,

J'ai une date de départ A1 et une date finale en B1
Je voudrais extraire et copier dans la colonne C1 les dates des vendredi
et cerise sur le gâteau seulement les 2 EME et 4 EME vendredi de chaque mois
ce qui serait préférable
Quelqu'un aurait-il une solution,
D'avance merci


JLS

3 réponses

Avatar
AV
Ave Daniel,

....Je ne pouvais résister à la tentation de l'Evaluate ;-)
Mais pffffff... pour tes formats de date à la mode amerloque !
;-)

AV


"Daniel.M" a écrit dans le message news:

Salut Alain,

J'optimise. :-)
Même si c'est peut-être moins clair!

Sub dma_2_4_Vendredis()
Dim i As Long, j As Long

i = CLng([A1]): j = 1
' Du Vendredi courant/prochain jusqu'à B1
For i = i - Weekday(i - 6) + 7 To [B1] Step 7
If 15 = Day(i) + Weekday(i - Day(i) + 2) _
Or 29 = Day(i) + Weekday(i - Day(i) + 2) Then
Cells(j, "C") = i: j = j + 1
End If
Next
Range("C:C").NumberFormat = "ddd yyyy-mm-dd"
End Sub


Salutations,

Daniel M.





Avatar
Daniel.M
Mais pffffff... pour tes formats de date à la mode amerloque !
;-)


:-)
Vrai. Donc, je corrige:

L'intérêt ici est de voir émerger le pattern où, en remplaçant le '+2' et le
'-6' par d'autres nombres, on trouverait les Lundi (ou Mardi ou...).

De plus, en changeant le 15,29, pour 8,36 (par exemple) dans le Case, on
trouverait les 1 et 5 Vendredi.

Sub dma_2_4_Vendredis()
Dim i As Long, j As Long

i = CLng([A1]): j = 1
' Du Vendredi courant/prochain jusqu'à B1
For i = i - Weekday(i - 6) + 7 To [B1] Step 7
Select Case Day(i) + Weekday(i - Day(i) + 2)
Case 15, 29: Cells(j, "C") = i: j = j + 1
End Select
Next
Range("C:C").NumberFormat = "ddd yyyy/mm/dd"
End Sub

Salutations,

Daniel M.

Avatar
AV
C'est pas bête du tout ton affaire !
;-)

AV