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 :

comment écrire dans plus de 3 feuilles en Excel ?


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 87
    Points : 53
    Points
    53
    Par défaut comment écrire dans plus de 3 feuilles en Excel ?
    Bonjour les amis;

    Comme il est bien noté clairement dans le titre, j'aimerais dépasser les 3 feuilles d'Excel (nombre par defaut des feuilles).

    voici un code qui manipule 3 feuilles en Excel sans problèmes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
            Microsoft.Office.Interop.Excel.Application appli;
            Microsoft.Office.Interop.Excel._Workbook classeur;
            Microsoft.Office.Interop.Excel._Worksheet feuille1;
            Microsoft.Office.Interop.Excel._Worksheet feuille2;
            Microsoft.Office.Interop.Excel._Worksheet feuille3;
            object M = System.Reflection.Missing.Value;
            object FileName = "c:\\MonFichierExcel.xls";
     
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    appli = new Microsoft.Office.Interop.Excel.Application();
                    appli.Visible = false;
     
                    //---------- création du classeur ---------
                    classeur = (Microsoft.Office.Interop.Excel._Workbook)(appli.Workbooks.Add(M));
                    //------ activer la feuille ----------
                    feuille1 = (Microsoft.Office.Interop.Excel._Worksheet)classeur.ActiveSheet;
                    feuille2 = (Microsoft.Office.Interop.Excel._Worksheet)classeur.Sheets[2];
                    feuille3 = (Microsoft.Office.Interop.Excel._Worksheet)classeur.Sheets[3];
     
                    //Remplir les en-têtes
                    feuille1.Cells[1, 1] = "Bonjour feuille 1";
                    feuille2.Cells[1, 1] = "Bonjour feuille 2";
                    feuille3.Cells[1, 1] = "Bonjour feuille 3";
     
                    //----- Auto-Enregistrement ---------------
                    classeur.Close(true, FileName, M);
                }
                catch (Exception ex) { MessageBox.Show("erruer est: " + ex.Message); }
                finally
                {
                    //----- Quitter ------
                    feuille1 = null;
                    feuille2 = null;
                    feuille3 = null;
                    classeur = null;
                    appli.Quit();
                    appli = null;
                }
            }
    Ce code a pour resultat la création d'une nouvelle application Excel en remplissant les 3 feuilles (feuilles déjà existantes par défaut) avec un message dans chaqu'une des feuilles.
    Mais moi, je veux écrire dans plus de 3 feuilles , le probl_me c'est que quand j'ajoute (normalement) la manipulation de la 4ème ligne (même traitement), une exception se lance: Index non valide.
    c'est parce une application excel (par défaut) elle s'ouvre avec seulement 3 feuilles.

    Question:
    Comment créer une nouvelle feuille dans excel via C# ?

    s'il vous plaît, si vous avez n'importe quelle suggestion à ce propos, n'hésitez surtout pas à me la communiquer, j'en ai vraiment besoin.
    et Mérci d'avance
    ______________________________________
    Rien n'est impossible, il suffit de savoir comment !

  2. #2
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Vive MSDN !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    classeur.Sheets.Add(miss, miss, miss, miss);

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 87
    Points : 53
    Points
    53
    Par défaut
    Re,

    Merci bien Mr.Antho42, Problèmo résoluto, ça fonctionne 5 sur 5

    Merci Developpez.com
    _____________________________________
    Rien n'est impossible, il suffit de savoir comment !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/08/2012, 01h15
  2. Comment écrire dans une zone de texte d'Excel, depuis VB6 ?
    Par Chekov dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/02/2008, 09h51
  3. [C#] Comment écrire dans un port COM ?
    Par Le poulpe dans le forum C#
    Réponses: 3
    Dernier message: 17/03/2006, 20h22
  4. [XML] Comment écrire dans un xml??
    Par ffmlgraphics dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/07/2005, 10h10
  5. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16

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