void RetourneProgramme()
        {
            //Obtenir les donnees de l'arborescence des modules , programmes et des menus relatifs
            AdministrationServiceClient prgram = new AdministrationServiceClient(Utility.ProtocoleFacturation(), Utility.EndPoint("Administration"));

            prgram.GetListeDesModuleCompleted += (sprog, resprog) =>
            {
                try
                {
                    if (resprog.Result == null || resprog.Result.Count == 0)
                    {
                        Message.ShowInformation(Langue.msgNodata, Langue.informationTitle);
                        return;
                    }
                    ListeModule.AddRange(resprog.Result);
                    ListeModuleSauvegarde = Shared.ClasseMEthodeGenerique.RetourneListCopy <CsModule>(ListeModule);
                    _ListeModuleObs       = new ObservableCollection <CsModule>();
                    foreach (CsModule item in ListeModule)
                    {
                        _ListeModuleObs.Add(item);
                    }

                    dtg_Module.ItemsSource = null;
                    dtg_Module.ItemsSource = _ListeModuleObs.OrderBy(t => t.LIBELLE);
                    OKButton.IsEnabled     = true;
                }
                catch (Exception ex)
                {
                    Message.ShowError(ex.Message, Langue.errorTitle);
                }
            };
            prgram.GetListeDesModuleAsync();
        }