Sub pause()
Dim tablo() As Variant
'ActiveSheet.Range("A1").CurrentRegion.Offset(1).Select
tablo = Range("A1").CurrentRegion.Offset(1).Value 'on récupère toutes les données colonnes A à E de la feuille Extract
For i = LBound(tablo, 1) To UBound(tablo, 1) 'sur chaque ligne du tablo
If tablo(i, 1) = "" Then tablo(i, 1) = tablo(i - 1, 1) 'permet de recopier le NOM sur TOUTES les lignes concernées par le nom
Next i
'on parcourt toutes les lignes du tablo sur la colonne "Nom"
For i = LBound(tablo, 1) + 1 To UBound(tablo, 1)
j = i
NbLog = 0
While tablo(j, 4) <> "" 'on cherche le nombre de log (in et out) pour le nom en cours
NbLog = NbLog + 1
j = j + 1
Wend
If NbLog > 2 Then 'si on a plus de 2 log
If tablo(i, 5) < "11:30:00" Then 'si l'heure de prise de service est <11:30
'MsgBox "test durée"
Durée = tablo(i + NbLog - 1, 5) - tablo(i, 5) 'on calcule la durée
'MsgBox Format(Durée, "hh:mm:ss")
If (Format(Durée, "hh:mm:ss") >= "06:55:00") Then 'si la durée >7h -5'
'MsgBox "Recherche Pause"
k = i
While tablo(k, 4) <> "LogOut" Or (Format(tablo(k, 5), "hh:mm:ss") < "11:00:00" And Format(tablo(k, 5), "hh:mm;ss") > "13:15:00")
k = k + 1
Wend
TempsPause = tablo(k + 1, 5) - tablo(k, 5)
With Sheets("Restit").Range("B:B")
Set ici = .Find(tablo(i, 1), LookIn:=xlValues, lookat:=xlWhole)
If Not ici Is Nothing Then
ici.Offset(0, 1) = TempsPause
ici.Offset(0, 2) = tablo(k + 1, 5)
End If
End With
'MsgBox Format(TempsPause, "hh:mm:ss")
End If
End If
End If
i = i + NbLog
Next i
End Sub