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
| Sub Saisie_Horaires()
Dim H_Deb As String, H_Fin As String, Couleur As String
Dim hdeb As Object, hfin As Object
Dim R As Byte, V As Byte, B As Byte
Dim Lig As Long
Application.ScreenUpdating = False
If Cells(Selection.Row, "A") = "" Then Exit Sub 'Si la ligne sélectionnée ne contient pas de nom d'employé
H_Deb = Application.InputBox("Saisir l'heure de début sous la forme 7h00", , , , , , , 2)
If H_Deb = "" Then Exit Sub
If InStr(1, H_Deb, "h", 1) = 0 Then 'on vérifie si la saisie est conforme aux heures inscrites en entête du tableau
MsgBox "Veuillez saisir le format de l'heure sous cette forme ""7h00"" ou ""10h00"""
Exit Sub
End If
If Right(H_Deb, 2) <> "00" And Right(H_Deb, 2) <> "30" Then
MsgBox "L'heure saise n'est pas conforme à celles enregistrée en entête du tableau"
Exit Sub
End If
H_Fin = Application.InputBox("Saisir l'heure de fin sous la forme 10h30", , , , , , , 2)
If H_Fin = "" Then Exit Sub
If InStr(1, H_Deb, "h", 1) = 0 Then
MsgBox "Veuillez saisir le format de l'heure sous cette forme ""7h00"" ou ""10h00"""
Exit Sub
End If
If Right(H_Fin, 2) <> "00" And Right(H_Fin, 2) <> "30" Then
MsgBox "L'heure saise n'est pas conforme à celles enregistrée en entête du tableau"
Exit Sub
End If
Couleur = Application.InputBox("saisir le N° de la couleur parmi celles-ci (1:Gris, 2:Bleu, 3:Vert, 4:Jaune", , , , , , , 2)
If Couleur = "" Then Exit Sub
Select Case Couleur
Case 1 'gris
R = 175
V = 171
B = 171
Case 2 'bleu
R = 0
V = 112
B = 192
Case 3 'vert
R = 146
V = 208
B = 80
Case 4 'jaune
R = 255
V = 255
B = 0
End Select
Lig = ActiveCell.Row
Set hdeb = Rows(2).Find(H_Deb)
Set hfin = Rows(2).Find(H_Fin)
Range(Cells(Lig, hdeb.Column), Cells(Lig, hfin.Column)).Value = 30 'on applique la valeur de 30mn sur toute la plage horaire
Range(Cells(Lig, hdeb.Column), Cells(Lig, hfin.Column)).Interior.Color = RGB(R, V, B) 'on applique la couleur choisie sur toute la plage horaire
Set hdeb = Nothing
Set hfin = Nothing
End Sub
Sub Suppression_Plage_Horaire()
If Selection.Row < 2 Or Selection.Column < 2 Or Selection.Column > 30 Then Exit Sub
Selection.Interior.ColorIndex = xlNone
Selection.ClearContents
End Sub |
Partager