Public Function Quotité()
Application.Volatile
ligne = Parent.Caller.Row 'récupère le numéro de ligne où est inscrite la formule
Set zone = Range("B" & ligne & ":BA" & ligne) 'récupère la zone colonne B à BA
PauseMidi = False 'permet de dectecter une pause midi
DemiJournée2 = False 'permet de dectecter une après midi
NbQuart = 0 'initialise le nombre de quart d'heure
For Each quart In zone
If quart.Interior.Color = 255 And PauseMidi = False Then 'on est AVANT la pause du midi
If quart.Offset(0, 1).Interior.Color <> 255 Then PauseMidi = True
End If
If quart.Interior.Color <> 255 And PauseMidi = True Then 'on est dans la pause
If quart.Offset(0, 1).Interior.Color = 255 Then DemiJournée2 = True
End If
If quart.Interior.Color = 255 Then 'si le quart d'heure est coloré en ROUGE
NbQuart = NbQuart + 1
End If
Next quart
If PauseMidi = True Then NbQuart = NbQuart - 1
If DemiJournée2 = True Then NbQuart = NbQuart - 1
NbHeure = Int(NbQuart / 4) 'calcul du nombre d'heure
NbMinute = (NbQuart - NbHeure * 4) * 15 'calcul du nombre de minutes
Quotité = Format(TimeValue("" & NbHeure & ":" & NbMinute & ":00"), "hh:mm") 'on retourne le résultat au format heure
End Function