private void Descendre_List <T>(object sender, RoutedEventArgs e) where T : ObjetGestion { ListBox V; ListeObservable <T> Liste; List <T> Ls; T L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { // On test si une ligne n'est pas à la dernière position pour eviter les erreurs foreach (T iL in Ls) { if (Liste.IndexOf(iL) == (Liste.Count - 1)) { return; } } // Si c'est bon, on les déplace toutes Ls.Reverse(); foreach (T iL in Ls) { int De = Liste.IndexOf(iL); Liste.Move(De, De + 1); } Liste.Numeroter(); } }