Soyez le premier à donner votre avis sur cette source.
Snippet vu 8 913 fois - Téléchargée 9 fois
Function GetSpecificalDay(ByVal eDayOfWeek As VBA.VbDayOfWeek, ByVal iIterationInMonth, ByVal dDate As Date) As Date 'iDayOfWeek jour de la semaine recherché 'iIterationInMonth position du jour dans le mois. ex : 2 pour le 2ème mercredi du mois 'dDate date de recherche, le mois et l'année servent de référence Dim dRef As Date, dDif As Date, i As Integer ' 1er du mois/année à charger dRef = DateSerial(Year(dDate), Month(dDate), 1) dDif = dRef ' à laquelle on ajoute le jour recherché For i = 0 To 6 dDif = DateAdd("d", i, dRef) If Weekday(dDif) = eDayOfWeek Then Exit For Next ' on a maintenant le premier jour recherché. exception nombre négatif non-pris en compte If iIterationInMonth > 1 Then dDif = DateAdd("d", (iIterationInMonth - 1) * 7, dDif) ' test de valeur MAX (supérieur à 4 ou 5 selon les mois pour la cohérence) If Month(dDif) <> Month(dRef) Then Err.Raise vbError, "GetSpecificalDay", _ "Erreur d'utilisation de la fonction, le mois [M-" & CStr(Month(dRef)) & "] ne contient pas " & _ CStr(iIterationInMonth) & " [D-" & CStr(Weekday(dDif)) & "]." GetSpecificalDay = dDif End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.