Function VBA dayOfMonth

bonjour tout le monde ! Je cherche à écrire une fonction qui me retourne, en fonction du premier jour du mois et du ième jour du même mois, le jour de la semaine de ce même jour.

Exemple : dayOfMonth("Mon", 20) -->"Sat" en effet si le premier jour du mois est un lundi, alors le 20ème est bien un samedi

Pour le moment mon code ressemble à ça :

Function dayofmonth(days As String, n As Integer) As String

Dim k As String

Dim j As Integer

days = 0

i = 1

j = days + n

k = WeekdayName(j) 'le problème ici c'est que pour vba il n'y a que 7 jours dans la semaine donc si j'entre n=20 il bug

dayofmonth = k

End Function

des idées ?

Merci beaucoup !

Bonsoir,

Tout cela est un peu confus.

Joins un petit fichier avec des données d'entrées et les résultats escomptés.

Cdlt.

Bonjour,

si j'ai bien compris :

Function dayOfMonth(day As String, n As Integer) As String
    Dim jo, i As Long
    jo = Array("lun", "mar", "mer", "jeu", "ven", "sam", "dim")
    For i = 0 To 6
        If LCase(day) = jo(i) Then Exit For
    Next i
    dayOfMonth = jo((n + i - 1) Mod 7)
End Function

Mais c'est plus simple de le récupérer directement à partir de la date. Besoin bizarre, surtout si tu dois retrouver le 1er jour du mois à partir d'une date

eric

Bonsoir,

D'accord avec Eric pour trouver ta demande curieuse !

La date au format "jjj" t'affiche le jour de la semaine en abrégé.

Pour l'obtenir renvoyé par une fonction :

Function DayOfWeek(datecherchée) As String
    DayOfWeek = Format(datecherchée, "ddd")
End Function

Et je ne comprends pas l'utilisation de Mon, Sat... en utilisant un Excel FR !

Cordialement.

Merci beaucoup Eriic et MFerrand pour votre aide ça m'aide beaucoup !!

Oui en effet c'est un peu curieux comme demande c'est vraiment juste pour pratiquer le code je pense.

Je vais mettre Excel 2016 US tu as raison MFerrand, merci beaucoup pour ta remarque

Rechercher des sujets similaires à "function vba dayofmonth"