/// <summary>
        /// Selectionner un fichier et renvoi l'objet FichierSW
        /// </summary>
        /// <param name="CheminComplet"></param>
        /// <returns></returns>
        public eFichierSW SelectionnerUnFichierSW()
        {
            Log.Methode(cNOMCLASSE);

            eFichierSW pFichierSW = new eFichierSW();
            if (pFichierSW.Init(_SW))
            {
                pFichierSW.Chemin = SelectionnerUnFichier(true);
                if ((pFichierSW.TypeDuFichier == TypeFichier_e.cAssemblage) || (pFichierSW.TypeDuFichier == TypeFichier_e.cPiece) || (pFichierSW.TypeDuFichier == TypeFichier_e.cDessin))
                    return pFichierSW;
            }

            return null;
        }
        /// <summary>
        /// Retourne la liste des fichiers du dossier sélectionné
        /// </summary>
        /// <param name="TypeDesFichiers"></param>
        /// <param name="NomARechercher"></param>
        /// <param name="ParcourirLesSousDossier"></param>
        /// <returns></returns>
        public ArrayList SelectionnerUnDossierEtRenvoyerFichierSW(TypeFichier_e TypeDesFichiers, String NomARechercher = "*", Boolean ParcourirLesSousDossier = false)
        {
            ArrayList pArrayFichiers = new ArrayList();

            String CheminDossier = SelectionnerUnDossier();

            SearchOption Options = SearchOption.TopDirectoryOnly;
            if (ParcourirLesSousDossier)
                Options = SearchOption.AllDirectories;

            if (Directory.Exists(CheminDossier))
            {
                foreach (String CheminFichier in Directory.EnumerateFiles(CheminDossier, NomARechercher, Options))
                {
                    eFichierSW pFichierSW = new eFichierSW();
                    if (pFichierSW.Init(_SW))
                    {
                        pFichierSW.Chemin = CheminFichier;
                        if (TypeDesFichiers.HasFlag(pFichierSW.TypeDuFichier))
                            pArrayFichiers.Add(pFichierSW);
                    }
                }
            }

            return pArrayFichiers;
        }
        /// <summary>
        /// Selectionner des fichiers et renvoi un tableau d'objet FichierSW
        /// </summary>
        /// <param name="CheminComplet"></param>
        /// <returns></returns>
        public ArrayList SelectionnerPlusieursFichierSW()
        {
            Log.Methode(cNOMCLASSE);

            ArrayList pArrayFichiers = new ArrayList();

            foreach (String CheminFichier in SelectionnerPlusieursFichiers(true))
            {
                eFichierSW pFichierSW = new eFichierSW();
                if (pFichierSW.Init(_SW))
                {
                    pFichierSW.Chemin = CheminFichier;
                    if ((pFichierSW.TypeDuFichier == TypeFichier_e.cAssemblage) || (pFichierSW.TypeDuFichier == TypeFichier_e.cPiece) || (pFichierSW.TypeDuFichier == TypeFichier_e.cDessin))
                        pArrayFichiers.Add(pFichierSW);
                }
            }

            return pArrayFichiers;
        }
        /// <summary>
        /// Renvoi la liste des ExtFichierSW filtrées par les arguments
        /// Permet de lister les fichiers sans faire de liens avec les composants SW et donc de pouvoir
        /// fermer le composant racine pour ensuite travailler sur les fichiers.
        /// Cela permet d'accélérer le traitement des fichiers.
        /// </summary>
        /// <param name="TypeComposant"></param>
        /// <param name="NomComposant"></param>
        /// <returns></returns>
        public ArrayList ListeFichiers(TypeFichier_e TypeComposant, String NomComposant = "")
        {
            Log.Methode(cNOMCLASSE);

            ArrayList pListeComps = ListeComposants(TypeComposant, NomComposant);
            ArrayList pArrayComps = new ArrayList();

            if (pListeComps.Count > 0)
            {
                foreach (eComposant pComp in pListeComps)
                {
                    eFichierSW pFichier = new eFichierSW();
                    if (pFichier.Init(_Composant.Modele.SW))
                    {
                        pFichier.Chemin = pComp.Modele.FichierSw.Chemin;
                        pFichier.Configuration = pComp.Configuration.Nom;
                        pFichier.Nb = pComp.Nb;
                        pArrayComps.Add(pFichier);
                    }
                }
            }

            return pArrayComps;
        }