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("25/11/2024", 2)) 'Renvoie : lundi
End Sub
Bien qu'il soit plus simple de passer directement par la fonction Format :
Sub exemple()
MsgBox Format("25/11/2024", "dddd") 'Renvoie : lundi
End Sub