Private Sub Worksheet_Change(ByVal Target As Range) 'à l'édition dans une cellule
Dim x As Integer 'déclare la variable x (incrément)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim t As Double 'déclare la variable t (Total)
If Target.Address <> "$B$16" Then Exit Sub 'si l'édition a lieu ailleur qu'en B16, sort de la procédure
dl = Cells(Application.Rows.Count, 11).End(xlUp).Row 'définit la dernière ligne de la colonne K
For x = 1 To CInt(Target.Value) 'boucle sur le nombre de note prisent en compte
If Cells(dl, 11).Value <> "" Then 'condition : si la cellule n'est pas vide
t = t + Cells(dl, 11) 'définit le total t
dl = dl - 1 'redéfinit la dernière ligne
Else 'sinon
dl = dl - 1 'redéfinit la dernière ligne
x = x - 1 'redéfinit le nombre de notes prisent en compte (une boucle de plus)
End If 'fin de la condition
Next x 'prochaine note de la boucle
Range("D16").Value = t 'place le total dans la cellule D16
End Sub