//---------------------------------------------------
        public bool RemoveDonnee(CControlePrevisionOperation controle)
        {
            CResultAErreur result = CResultAErreur.True;

            if (controle.Operation != null)
            {
                result = controle.Operation.CanDelete();
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                    return(false);
                }
            }
            int nNiveau = controle.Niveau;
            int nIndex  = controle.Index;

            CControlePrevisionOperation ctrlSuivant = null;

            if (nIndex + 1 < m_listeControlsUtiles.Count)
            {
                ctrlSuivant = (CControlePrevisionOperation)m_listeControlsUtiles[nIndex + 1];
            }
            while (ctrlSuivant != null && ctrlSuivant.Niveau > nNiveau)
            {
                if (!RemoveDonnee(ctrlSuivant))
                {
                    return(false);
                }
                if (nIndex + 1 < m_listeControlsUtiles.Count)
                {
                    ctrlSuivant = (CControlePrevisionOperation)m_listeControlsUtiles[nIndex + 1];
                }
                else
                {
                    ctrlSuivant = null;
                }
            }
            if (controle.Operation != null)
            {
                result = controle.Operation.Delete();
                if (!result)
                {
                    return(false);
                }
            }

            m_listeControlsUtiles.Remove(controle);
            m_listeControlesReserve.Add(controle);
            nIndex = controle.Index;
            for (int nChange = nIndex; nChange < m_listeControlsUtiles.Count; nChange++)
            {
                ((CControlePrevisionOperation)m_listeControlsUtiles[nChange]).Index = nIndex;
                nIndex++;
            }

            controle.Operation = null;
            controle.Hide();

            //s'il n'y a plus de contrôle, il faut en ajouter 1 !!!
            if (m_listeControlsUtiles.Count == 0 && m_gestionnaireModeEdition.ModeEdition)
            {
                CControlePrevisionOperation ctrl = GetNewControle(0);
                ctrl.InitControle(null, 0, 0, true);
            }
            RecalcSize();

            return(true);
        }