Function Som(Datation, Nom)
On Error GoTo FinSom ' En cas d'erreur, on sort ( par ex appreil non trouvé )
Dim C As Integer, L As Integer
Application.Volatile ' Sera recalculé à chaque recalcul XL
C = Application.Match(Nom, Range("1:1"), 0) ' Où se trouve Nom dans la ligne 1
L = Application.Match(CLng(CDate(Datation)), Range("A:A"), 0) ' Où se trouve la date dans la colonne A
Som = Cells(L, C) ' Récupère la valeur à l'intersection
If Cells(L + 1, C) <> "" Then Som = Som + Cells(L + 1, C) ' Si la ligne du dessous n'est pas vide, on l'ajoute ( cas Nuit/Soir )
If Cells(L + 2, C) <> "" Then Som = Som + Cells(L + 2, C) ' Si la ligne du dessous n'est pas vide, on l'ajoute ( cas Nuit/Soir/Jour )
FinSom:
End Function