Bonjour,
Dans un état j'ai la fonction si dessous qui recherche les jours fériés. Si le jour est un jour ouvrable il renvoie dans un contrôle la valeur 0 le jour est férié, la valeur 7 pour le vendredi et 8 pour les autres jours de la semaine en dehors du week-end
Comment peut-on calculer la somme hebdomadaire de dhLégal? Normalement 39 si il n'y a pas de jour férié
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Private Function HeuLégal() 'Dim dhDate As Date Dim Résultat As Integer Dim dhLégal As Integer dhDate = Me.[Date] intAn = year(dhDate) ' jours ouvrables 'Test pour savoir si le jour courant est ouvrable (lundi au vendredi) If Weekday(dhDate) <> 1 And Weekday(dhDate) <> 7 Then 'Test des jours fériés avec dates invariables Select Case dhDate Case CDate("01/01/" & intAn) 'Jour de l'an Case CDate("01/05/" & intAn) 'Fête du travail Case CDate("08/05/" & intAn) 'Anniv 1945 Case CDate("14/07/" & intAn) 'Fête nationale Case CDate("15/08/" & intAn) 'Assomption Case CDate("01/11/" & intAn) 'Toussaint Case CDate("11/11/" & intAn) 'Anniv 1918 Case CDate("25/12/" & intAn) 'Noël 'Case CDate("26/12/" & intAn) 'St-Etienne Case Else 'Test pour savoir si la date courante n'est pas un jour férié mobile If JourFériéMobile(dhDate) = False Then ' Totalise les jours ouvrables Résultat = Résultat + 1 End If End Select End If NbreJoursouvrables = Résultat 'Atribu la durée en heures pour les jour à 8h If NbreJoursouvrables = 1 And Weekday(dhDate) <> 6 Then dhLégal = 8 'Le vendredi 7h Else dhLégal = 7 'Attribu 0 h si le jour n'est pas ouvrable If NbreJoursouvrables <> 1 Then dhLégal = 0 End If End If HeuLégal = dhLégal End Function
Merci
Partager