Re,
Dans un 1° temps je ne tiens pas compte des jours.
Je déduis de la plus petite valeur entre l'heure de fin et l'heure maxi, la plus grande valeur entre l'heure de début et l'heure mini.
Dans un 2° temps, je multiplie le nb de jours d'écart entre le jour fin et le jour début par 16 heures, et j'ajoute le résultat au 1er
Si l'heure de fin est <l'horaire mini et l'heure de début>l'horaire maxi, j'obtiens une valeur négative, remplacée par 0.
Pour le reste, l'aide vous permettra de comprendre les fonctions basiques min() et max()