IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Selection d'une feuille Excel spécifique


Sujet :

C#

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Points : 153
    Points
    153
    Par défaut Selection d'une feuille Excel spécifique
    Bonjour à tous,


    Je souhaiterais savoir si il est possible de sélectionner, en utilisant Interop Excel sous VB express 2010, une feuille d'un classeur ouvert en cherchant le nom de celle-ci.

    Je développe un peu :
    J'ai plusieurs classeurs excel, qui font sensiblement la même chose, mais dont les colonnes correspondantes ne sont pas au même index.
    Ainsi, j'ai besoin pour le projet Amsterdam de récupérer la feuille s'apellant "IOS_AMSTERDAM" et pour citadis la feuille "IOS_CITADIS".
    Pour le moment je les récupère avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheet feuil1copie = (Worksheet)class_act.Worksheets[indice_de_la_colonne_correspondante];
    Mais cet indice n'étant pas le même selon les fichiers, j'aurais voulu faire quelque chose comme une combo_box récupérant le nom du projet, et en aval récupérer la feuille avec quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheet feuil1copie = (Worksheet)class_act.Worksheets["IOS_nomduproj"];
    Est-ce possible ??
    Sinon quelqu'un voit comment je peux contourner le problème ?
    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Tu peux te faire une méthode qui parcourt les feuilles et te retourne celle du nom donné. Quelque chose du genre :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private _Worksheet GetWorksheet(string WorksheetName)
    {
        foreach (_Worksheet Worksheet in this.m_Workbook.Worksheets)
        {
            if (Worksheet.Name == WorksheetName)
            {
                return Worksheet;
            }
        }
        // Retourne la feuille active par défaut :
        return (_Worksheet)this.m_Workbook.ActiveSheet;
    }
    Extrait de : Pilotage de l'application Office Excel (Excel Automation)

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Points : 153
    Points
    153
    Par défaut
    Merci beaucoup, c'est nickel !

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2013
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Quand je l'utilise j'ai une erreur qui se créée sur la ligne foreach ...
    l'erreur :" La référence d'objet n'est pas définie à une instance d'un objet."

    Mon appel a la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    newWorksheet = (Microsoft.Office.Interop.Excel._Worksheet)   wb.Worksheets.Add(
                            oMissing, oMissing, oMissing, oMissing);
    newWorksheet.Name = A;
    GetWorksheet("00");
    ActSheet.Copy(oMissing, newWorksheet);
    ActSheet est la feuille sortant de ta methode.


    Quelqu'un peut il me dire d'où vient cette erreur ?!

  5. #5
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par M0llusk59 Voir le message
    Quand je l'utilise j'ai une erreur qui se créée sur la ligne foreach ...
    l'erreur :" La référence d'objet n'est pas définie à une instance d'un objet."

    Quelqu'un peut il me dire d'où vient cette erreur ?!
    Tu pourrais nous montrer la pile d'appel aboutissant à cette erreur et le code de la classe ?
    Sans ça, je n'en sais pas plus que toi.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2013
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Merci Skalp !
    Le probleme est résolu. Je n'avais pas bien défini / initialisé ce qu'il y avait dans ma boucle.

    Bonne journée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/09/2013, 17h53
  2. Réponses: 4
    Dernier message: 17/02/2010, 10h07
  3. [XL-2003] Problème avec la sélection d'une feuille excel -Sheets("Feuille").Select-
    Par -Naek- dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/04/2009, 17h13
  4. Comment extraire les selections d'une combobox vers une feuille excel
    Par froggyaz dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/09/2008, 16h58
  5. Selections de colonnes dans une feuille excel
    Par hubeuh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/12/2007, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo