Public Sub AjouterElementAListe(Liste As Range, ByVal Element As String)
Dim nm As Name
'On travail sur la plage nommée passée en paramètre
With Liste
'Récupèrer le nom de la plage nommée (de la liste) pour pouvoir la retaillée ci-dessous
Set nm = .Name
'rajouter l'élément dans la première ligne sous la liste
'c'est à dire décaler la plage de son nombre de lignes à partir de la première
' retaillée à une ligne
.Offset(.Rows.Count).Resize(1) = Element
'redéfinition du nom avec la nouvelle ligne
'C'est à dire retailler la plage à +1 ligne et renvoyer son address dans sa définition
nm.RefersTo = "=" & .Parent.Name & "!" & .Resize(.Rows.Count + 1).Address
Range("ListeMissions").Sort Key1:=.Cells(2, 1), Order1:=xlAscending, Header:=xlYes
End With
End Sub