Fonction VBA : WeekdayName

La fonction VBA WeekdayName renvoie le nom du jour de la semaine en fonction de son numéro.

Utilisation :

WeekdayName(numéro)

ou

WeekdayName(numéro, abréviation, premier_jour_semaine)


Numérotation

Par défaut, le premier jour de la semaine est défini en fonction de votre système, vous n'avez donc en principe rien à modifier.

En cas de besoin, ou pour éviter d'obtenir éventuellement des résultats différents selon le système utilisé, vous pouvez faire en sorte que le lundi soit le premier jour de la semaine (1) et le dimanche le dernier (7) en ajoutant la valeur 2 en troisième argument lorsque vous utilisez cette fonction :

WeekdayName(numéro, abréviation, 2)

Exemples d'utilisation

Utilisation de la fonction WeekdayName pour afficher le nom des 7 jours :

Sub exemple()

    MsgBox WeekdayName(1) 'Renvoie : lundi
    MsgBox WeekdayName(2) 'Renvoie : mardi
    MsgBox WeekdayName(3) 'Renvoie : mercredi
    MsgBox WeekdayName(4) 'Renvoie : jeudi
    MsgBox WeekdayName(5) 'Renvoie : vendredi
    MsgBox WeekdayName(6) 'Renvoie : samedi
    MsgBox WeekdayName(7) 'Renvoie : dimanche
    
End Sub

La fonction WeekdayName peut également afficher la version abrégée du jour en entrant la valeur True en second argument :

Sub exemple()

    MsgBox WeekdayName(1, True) 'Renvoie : lun.
    MsgBox WeekdayName(2, True) 'Renvoie : mar.
    MsgBox WeekdayName(3, True) 'Renvoie : mer.
    MsgBox WeekdayName(4, True) 'Renvoie : jeu.
    MsgBox WeekdayName(5, True) 'Renvoie : ven.
    MsgBox WeekdayName(6, True) 'Renvoie : sam.
    MsgBox WeekdayName(7, True) 'Renvoie : dim.
    
End Sub

Nom du jour en fonction d'une date

En utilisant les fonctions Weekday et WeekdayName vous pouvez obtenir le nom du jour de la semaine en fonction d'une date :

Sub exemple()

    MsgBox WeekdayName(Weekday("30/11/2020", 2)) 'Renvoie : lundi
    
End Sub

Bien qu'il soit plus simple de passer directement par la fonction Format :

Sub exemple()

    MsgBox Format("30/11/2020", "dddd") 'Renvoie : lundi
    
End Sub