web-dev-qa-db-fra.com

Comment déterminer si une date tombe le week-end?

Étant donné une date en entrée, comment puis-je déterminer si la journée tombe un week-end?

22
JR.

Il existe une fonction Weekday qui prend une date comme argument et renvoie le jour (1, 2, 3, etc.)

Les valeurs de retour sont:

vbSunday (1)  
vbMonday (2)  
vbTuesday (3)  
vbWednesday (4)  
vbThursday (5)  
vbFriday (6)  
vbSaturday (7)  

En supposant que les week-ends sont le samedi et le dimanche, la fonction ressemblerait à ceci:

Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function
37
Lawrence P. Kelley

C'est le moyen le plus direct de déterminer si MyDate tombe le week-end:

MsgBox Weekday(MyDate, vbMonday) > 5

La fonction Weekday () a un 2e paramètre optionnel qui lui indique quel jour de la semaine la semaine commence. La fonction Weekday () renvoie un entier compris entre 1 et 7.

Je lui ai demandé de commencer la semaine le LUNDI et donc le SAMEDI serait de 6 et le DIMANCHE de 7.

11
Excel Hero

Ou, vous pouvez utiliser ceci:

OR(MOD(WEEKDAY(cell), 7)=0, MOD(WEEKDAY(cell), 7)=1)

ou

MOD(WEEKDAY(cell), 7) < 2

comme formule.

puisque 1 est dimanche et 0 est samedi

6
user500074

Formule pour convertir la date en jours de la semaine

Selection.FormulaR1C1 = "= TEXT (WEEKDAY (R7C" + CStr (i) + ", 1)," "ddd" ")" "

cela reviendra le jour

par exemple: - si l'entrée est 02-mai-2013, elle renverra jeu -> (jeudi) ici la variable i représente une autre colonne

2
sakthi