Option Explicit
Sub IMPRIMER_HEURES()
Dim res As String 'déclare la variable res
Dim a As String 'déclare la variable a
Dim F As Integer 'déclare la variable F
Dim D As Date 'déclare la variable D
Dim Cel As Range 'déclare la variable cel
Application.ScreenUpdating = False
D = DateValue(Range('B1').Value) 'définit la variable D (Date en B1)
F = Range('A65536').End(xlUp).Row 'définit la variable F (Fin du tableau)
'vérifie si la date existe déjà
For Each Cel In Range('B27:B' & F) 'boucle sur toutes les cellules de la plage B27:B_F
If DateValue(Cel) = D Then 'condition 1 : si la date de la cellule est égale à la date D de B1
'définit la variable a (message oui / non)
a = MsgBox('Cette date existe déjà. Voulez-vous la remplacer ?', vbYesNo, 'Attention !')
If a = vbYes Then 'condition 2 : si a = oui (remplacer la date)
Range('B1').Select 'sélectionne B1
Selection.ClearContents 'efface le contenu de B1
Exit Sub 'sort de la procédure
Else 'si a=non (ne pas remplacer)
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
End If 'fin de la condition 1
Next Cel 'prochaine cellule de la plage
res = MsgBox('pour valider l'occupation des lignes et imprimer appuyer sur oui, pour imprimer uniquement appuyer sur non, pour sortir appuyer sur annuler', vbYesNoCancel)
If res = vbYes Then
Range('A' & F + 1) = Range('A2').Value
Range('B' & F + 1) = Range('B2').Value
Range('C' & F + 1) = Range('C2').Value
Range('D' & F + 1) = Range('D2').Value
Range('E' & F + 1) = Range('E2').Value
Range('F' & F + 1) = Range('F2').Value
Range('G' & F + 1) = Range('G2').Value
'ActiveSheet.PageSetup.BlackAndWhite = True
' Range('A1:K23').Select
'ActiveSheet.PageSetup.PrintArea = '$A$1:$K$23'
' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
' ActiveSheet.PageSetup.BlackAndWhite = False
' Range('b5').Select
' ElseIf res = vbNo Then
' ActiveSheet.PageSetup.BlackAndWhite = True
' Range('A1:K23').Select
'ActiveSheet.PageSetup.PrintArea = '$A$1:$K$23'
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'ActiveSheet.PageSetup.BlackAndWhite = False
Range('b5').Select
ElseIf res = vbCancel Then Exit Sub
End If
End Sub