Private Sub CommandButton2_Click() 'bouton "Vérification"
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim AP As Date 'déclare la variable AP (Arrivée Programmée)
Dim DP As Date 'déclare la variable DP (Départ Programmé)
Dim AR As Date 'déclare la variable AR (Arrivée Réalisée)
Dim DR As Date 'déclare la variable DR (Départ Réalisé)
ActiveCell.Select 'enlève le focus au bouton
Set O = Sheets("Requête5") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, 19).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 19 (=S) de l'onglet O
For LI = DL To 2 Step -1 'boucle inversée sur toutes les lignes LI de la dernière DL à la ligne 2
DP = CDate(O.Cells(LI, 19).Value) 'définit la variable AP
AP = CDate(O.Cells(LI, 26).Value) 'définit la variable DP
If AP <= DP Then 'condition si AP est inférieure ou égale à DP
Application.Union(O.Cells(LI, 19), O.Cells(LI, 26)).Interior.ColorIndex = 3 'colore les deux cellules fond rouge
'si "Oui" au message, supprime la ligne
If MsgBox("L'arrivée programmée se fait avant le départ ! Voulez-vous supprimer la ligne ?", vbYesNo, "Attention!") = vbYes Then Rows(LI).Delete
End If 'fin de la condition
DR = CDate(O.Cells(LI, 33).Value) 'définit la variable DR
AR = CDate(O.Cells(LI, 39).Value) 'définit la variable AR
If AR <= DR Then 'condition si AR est inférieure ou égale à DR
Application.Union(O.Cells(LI, 33), O.Cells(LI, 39)).Interior.ColorIndex = 3 'colore les deux cellules fond rouge
If MsgBox("L'arrivée réalisée se fait avant le départ ! Voulez-vous supprimer la ligne ?", vbYesNo, "Attention!") = vbYes Then Rows(LI).Delete
End If 'fin de la condition
Next LI 'prochaine Ligne de la boucle
MsgBox "Toutes les anomalies on été supprimées !" 'message de fin
End Sub