private void SelectionMultiples()
        {
            CListeObjetsDonnees liste = ListeRelations;

            CObjetDonneeAIdNumerique[] elts = (CObjetDonneeAIdNumerique[])CInterpreteurTextePropriete.CreateListeFrom(
                liste, "ElementLie", typeof(CObjetDonneeAIdNumerique));
            elts = CFormSelectElementsMultiples.GetListeElements(
                m_typeRelation.TypeElements,
                m_typeRelation.FiltreDataAssocie,
                elts);
            if (elts != null)
            {
                using (CWaitCursor waiter = new CWaitCursor())
                {
                    //Table Entite->Vrai si existe dans les deux liste
                    //			->Faux si existe uniquement dans l'ancienne liste (à supprimer)
                    //			->Null si existe uniquement dans la nouvelle liste (à créer)
                    Hashtable tableExistants = new Hashtable();
                    foreach (CRelationEntreeAgenda_ElementAAgenda rel in ListeRelations)
                    {
                        tableExistants[rel.ElementLie] = false;
                    }
                    foreach (CObjetDonneeAIdNumerique objet in elts)
                    {
                        if (tableExistants[objet] == null)                          //création
                        {
                            CRelationEntreeAgenda_ElementAAgenda rel = new CRelationEntreeAgenda_ElementAAgenda(m_entreeAgenda.ContexteDonnee);
                            rel.CreateNewInCurrentContexte();
                            rel.ElementLie   = objet;
                            rel.EntreeAgenda = m_entreeAgenda;
                            rel.RelationTypeEntree_TypeElement = m_typeRelation;
                        }
                        else
                        {
                            tableExistants[objet] = true;
                        }
                    }
                    //Supprime ceux qui doivent être supprimés
                    foreach (CRelationEntreeAgenda_ElementAAgenda rel in ListeRelations.ToArrayList())
                    {
                        object val = tableExistants[rel.ElementLie];
                        if (val is bool && ((bool)val) == false)
                        {
                            rel.Delete();
                        }
                    }
                }
            }
            RefreshText();
        }