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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
| Private Sub CommandButton3_Click()
Dim k, m, NbPersonne As Integer
Dim Montableau(9) As String
Montableau(0) = "AL"
Montableau(1) = "AM"
Montableau(2) = "AN"
Montableau(3) = "AO"
Montableau(4) = "AP"
Montableau(5) = "AQ"
Montableau(6) = "AR"
Montableau(7) = "AS"
Montableau(8) = "AT"
Montableau(9) = "AU"
k = 0
m = 0
NbPersonne = 4
'Clear le planning
Sheets("Suivi hebdo").Range("AL5:AU25").ClearContents
Sheets("Suivi hebdo").Range("AL5:AU25").Interior.ColorIndex = 2
'Nombre de personnes dans le service
For l = 45 To 65
NomP = Sheets("Options").Range("C" & l).Value
If Not NomP = "" Then
NbPersonne = NbPersonne + 1
End If
Next l
ActiveCell.Select
Sheets("Suivi hebdo").Range("AL4").Value = Selection
For i = 0 To 12
'Fin de mois
If Selection = "" Then
For r = 0 To 9
ValeurJour = Selection.Offset(-1, 0).Value
StrValeurJour = Format(ValeurJour, "dddd")
If StrValeurJour = "dimanche" Then
If Selection.Offset(-3, 0).Value = Sheets("Suivi hebdo").Range(Montableau(r) & 4).Value Then
For j = 5 To NbPersonne
'Astreintes
If Selection.Offset(-1, 1).Value = Sheets("Suivi h ebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r + 1) & j).Value = "Recup."
End If
If Selection.Offset(-1, 2).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r + 1) & j).Value = "Recup."
End If
Next j
End If
End If
If StrValeurJour = "samedi" Then
If Selection.Offset(-2, 0).Value = Sheets("Suivi hebdo").Range(Montableau(r) & 4).Value Then
For j = 5 To NbPersonne
'Astreintes
If Selection.Offset(-1, 1).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r + 1) & j).Value = "Recup."
End If
If Selection.Offset(-1, 2).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r + 1) & j).Value = "Recup."
End If
Next j
End If
End If
If Selection.Offset(-1, 0).Value = Sheets("Suivi hebdo").Range(Montableau(r) & 4).Value Then
For j = 5 To NbPersonne
'Astreintes
If Selection.Offset(-1, 1).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r + 1) & j).Value = "Recup."
End If
If Selection.Offset(-1, 2).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r + 1) & j).Value = "Recup."
End If
Next j
End If
Next r
ActiveSheet.Next.Select
End If
For r = 0 To 9
If Selection = Sheets("Suivi hebdo").Range(Montableau(r) & 4).Value Then
For j = 5 To NbPersonne
ValeurJour = Selection.Value
StrValeurJour = Format(ValeurJour, "dddd")
'Astreintes
If Selection.Offset(-1, 1).Value = Sheets("Suivi hebdo").Range("B" & j).Value And Not StrValeurJour = "lundi" Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "Recup."
End If
If StrValeurJour = "lundi" And Selection.Offset(-2, 1).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "Recup."
End If
'Perms matin/soir
For k = 3 To 6
If Selection.Offset(0, k).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
If Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "" Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "Inc."
Else
Valeur = Sheets("Suivi hebdo").Range(Montableau(r) & j).Value & "+ "
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = Valeur & "Inc."
End If
End If
Next k
'Préparation changement
If Selection.Offset(0, 7).Value = Sheets("Suivi hebdo").Range("B" & j).Value And Not TYPEJOUR(Selection) = 1 Then
If Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "" Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "Prep."
Else
Valeur = Sheets("Suivi hebdo").Range(Montableau(r) & j).Value & "+ "
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = Valeur & "Prep."
End If
End If
'Réalisation changement
If Selection.Offset(0, 8).Value = Sheets("Suivi hebdo").Range("B" & j).Value And Not TYPEJOUR(Selection) = 1 Then
If Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "" Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = "Real."
Else
Valeur = Sheets("Suivi hebdo").Range(Montableau(r) & j).Value & "+ "
Sheets("Suivi hebdo").Range(Montableau(r) & j).Value = Valeur & "Real."
End If
End If
'Bulletin
If Not Selection.Offset(0, 19).Value = "" And Not TYPEJOUR(Selection) = 1 Then
If Selection.Offset(0, 19).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Interior.ColorIndex = 15
End If
End If
'Congé/indispo
For l = 10 To 18
If Not Selection.Offset(0, l).Value = "" And Selection.Offset(0, l).Value = Sheets("Suivi hebdo").Range("B" & j).Value Then
Sheets("Suivi hebdo").Range(Montableau(r) & j).Interior.ColorIndex = 56
End If
Next l
'jour férié
If TYPEJOUR(Selection) = 2 And Not StrValeurJour = "samedi" And Not StrValeurJour = "dimanche" Then
For s = 5 To NbPersonne
Sheets("Suivi hebdo").Range(Montableau(r) & s).ClearContents
Sheets("Suivi hebdo").Range(Montableau(r) & s).Interior.ColorIndex = 56
Next s
End If
Next j
End If
Next r
Selection.Offset(1, 0).Select
Next i
End Sub |