bonjour,
voila un probleme tout simple (je pense) il faudrait que je récupère les jours qui sont productif par mois a partir de ce bout de code
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 'on place les jours du mois vl_jour = 1 If (vl_cpt = 1) Then vl_mois = nomMois(Month(Date)) vl_annee = NomAnnee(Month(Date)) Else vl_NumMois = (Month(Date) + vl_cpt - 1) If (vl_NumMois > 12) Then vl_mois = nomMois(vl_NumMois) vl_annee = NomAnnee(Month(Date) + vl_cpt) Else vl_mois = nomMois(vl_NumMois) vl_annee = NomAnnee(Month(Date)) End If End If vlDate = Str(vl_jour) + "/" + vl_mois + "/" + vl_annee vl_colonne = 0 While (IsDate(vlDate) And (vl_jour <= 31)) Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne).Select If IsDate(vlDate) Then ' La date est valide Select Case WeekDay(vlDate) Case 1 ActiveCell.FormulaR1C1 = "Dim" Case 2 ActiveCell.FormulaR1C1 = "Lun" Case 3 ActiveCell.FormulaR1C1 = "Mar" Case 4 ActiveCell.FormulaR1C1 = "Mer" Case 5 ActiveCell.FormulaR1C1 = "Jeu" Case 6 ActiveCell.FormulaR1C1 = "Ven" Case 7 ActiveCell.FormulaR1C1 = "Sam" End Select ' on grise pour signaler un we ou jour ferie ' attention 4 colonnes If (getTypeJour(vlDate) <> CST_JOUR_NORMAL) Then For vl_cpt = 1 To 4 Selection.Interior.Pattern = xlGray8 Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne + vl_cpt).Select Next vl_cpt End If Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne).Select ActiveCell.FormulaR1C1 = Str(vl_jour) ' on grise pour signaler un we ou jour ferie If (getTypeJour(vlDate) <> CST_JOUR_NORMAL) Then Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne - 1).Select For vl_cpt = 1 To 4 Selection.Interior.Pattern = xlGray8 Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne + vl_cpt - 1).Select Next vl_cpt End If vl_colonne = vl_colonne + 4 End If vl_jour = vl_jour + 1 vlDate = Str(vl_jour) + "/" + vl_mois + "/" + vl_annee Wend While ((vl_colonne + CST_COLONNE_DEB_CALENDRIER_JOUR) <= CST_COLONNE_FIN_CALENDRIER_JOUR) Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne).Select ActiveCell.FormulaR1C1 = "***" Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne).Select ActiveCell.FormulaR1C1 = "***" vl_colonne = vl_colonne + 4 Wend ' ******************************************************* MsgBox () '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'on positionne les we et jours feries 'calcul du nombre de collaborateurs nbCollaborateur = 0 vl_ligne = 0 Cells(CST_LIGNE_DEB_COLLABORATEUR + vl_ligne, CST_COLONNE_COLLABORATEUR).Select While (Selection <> Empty) nbCollaborateur = nbCollaborateur + 1 vl_ligne = vl_ligne + 1 Cells(CST_LIGNE_DEB_COLLABORATEUR + vl_ligne, CST_COLONNE_COLLABORATEUR).Select Wend vl_colonne = 0 While ((vl_colonne + CST_COLONNE_DEB_CALENDRIER_JOUR) <= CST_COLONNE_FIN_CALENDRIER_JOUR) 'on selectionne les jours Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne).Select ' Si c'est un samedi ou un dimanche ou un jour ferie on rempli la colonne If (Selection.Interior.Pattern = xlGray8) Then Range(Cells(CST_LIGNE_DEB_COLLABORATEUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne), Cells(CST_LIGNE_DEB_COLLABORATEUR + nbCollaborateur - 1, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne)).Select Selection.Interior.Pattern = xlGray8 End If vl_colonne = vl_colonne + 1 Wend
Problème : il faudrait que je récupère une variables qui me donne les jour productif c'est a dire les jour de travail sans compter les samedi et dimanche et les jours feriez.
Y aurait t'il quelqu'un qui pourrait m'aiguiller
Partager