Sub Macro1()
Dim O As Object 'déclare la variable O (Onglets)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim I As Integer 'déclare la variable I (Incrément)
Dim t1 As Variant 'décale la variable t2 (Temps 1)
Dim t2 As Variant 'décale la variable t2 (Temps 2)
For Each O In Sheets 'boucle 1 : sur tous les onglets O du classeur
If UCase(Left(O.Name, 4)) = "LINE" Then 'condition : si le nom de l'onglet commence en majuscule par "LINE"
O.Range("D6:D70").Interior.ColorIndex = 36 'supprime les éventuelles couleurs dans la plage PL
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set PL = O.Range("D6:D70").SpecialCells(xlCellTypeConstants) 'définit la plage PL des cellules de D6:D70 ne contenant pas de formule (peut générer une erreur si il n'y a que des formules)
If Err <> 0 Then Err.Clear: GoTo suite 'si une erreur a été générée, supprime l'erreur, passe à l'onglet suivant via l'étiquette "Suite"
On Error GoTo 0 'annule la gestion des erreurs
DL = PL.Rows.Count + 5 'définit la dernière ligne DL
For I = 6 To DL - 1 'boucle 2 : des lignes 6 à (DL - 1)
'condition : si la valeur absolue de la différence entre la cellule ligne (I + 1) et
'celle en ligne I de la colonne 1 est supérieure à 1
t1 = TimeSerial(Hour(O.Cells(I, 4).Value), Minute(O.Cells(I, 4).Value), Second(O.Cells(I, 4).Value)) 'définit la variable t1
t2 = TimeSerial(Hour(O.Cells(I + 1, 4).Value), Minute(O.Cells(I + 1, 4).Value), Second(O.Cells(I + 1, 4).Value)) 'définit la variable t2
If Abs(CDate(t2 - t1)) * 86400 > 1.000001 Then 'si la valeur absolue de la différence est supérieure à 1,000001
O.Cells(I, 4).Interior.ColorIndex = 3 'colore la première cellule de rouge
O.Cells(I + 1, 4).Interior.ColorIndex = 37 'colore la seconde cellule de vert
'MsgBox "Veuillez vérifier les lignes " & I & " et " & I + 1 & " de l'onget " & O.Name & " !" 'message
End If 'fin de la condition
Next I 'prochaine ligne de la boucle 2
End If 'fin de la condition
suite: 'étiquette
Next O 'prochain onglet de la boucle 1
End Sub