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

Excel Discussion :

Complément pour Excel : génération d'un tableau depuis source XML


Sujet :

Excel

  1. #1
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut Complément pour Excel : génération d'un tableau depuis source XML
    Bonjour,

    à partir d'un complément Excel développé sous Visual Studio 2008 (C#) pour Excel 2007, je cherche à reproduire la fonctionnalité que l'on trouve dans "Données > Données externes > A partir d'autres sources > Provenance : Importation de données XML", c'est à dire générer un tableau de données pré-formaté, avec des possibilités de tri/filtre, à partir d'un flux RSS.

    Comment dois-je m'y prendre pour réaliser cela dans un complément Excel, sans tout refaire, en utilisant la fonctionnalité existante d'Excel ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    je ne suis pas sur de bien comprendre ta question mais j'espère que ce lien pourra t'aider :

    Comment importer un fichier xml dans une feuille de calcul, par macro ?

    bonne journée
    michel

  3. #3
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut
    En fait j'ai trouvé la solution :
    - il faut charger son fichier XML dans un dataset
    - créer un ListObject (le fameux tableau de données pré-formaté, avec des possibilités de tri/filtre) à partir de la feuille Excel souhaitée
    - définir la table du dataset que l'on souhaite afficher comme source du binding

    Ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void LoadFeed(Excel.Worksheet ws, Excel.Range range, string address, string schemaAddress)
            {
                DataSet ds = new DataSet();
                ds.EnforceConstraints = false;
                ds.ReadXmlSchema(schemaAddress);
                ds.ReadXml(address);
                DataTable dt = ds.Tables["item"];
     
     
                ExcelTools.Worksheet worksheet = ws.GetVstoObject();
                ExcelTools.ListObject lo = worksheet.Controls.AddListObject(range, "test");
                lo.AutoSetDataBoundColumnHeaders = true;
                lo.SetDataBinding(dt);
            }

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 30
    Points : 29
    Points
    29
    Par défaut
    Bonjour

    j'essaye aussi de générer un fichier excel contenant plusieurs feuilles, mais je n'y arrive pas, du moins, pas à la volée.
    Peux tu me dire ce qu'est ExcelTools dans ton code?
    merci

  5. #5
    Membre du Club Avatar de d1g-2-d1g
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 127
    Points : 68
    Points
    68
    Par défaut
    voici les "using" répondant à ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using Excel = Microsoft.Office.Interop.Excel;
    using ExcelTools = Microsoft.Office.Tools.Excel;

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

Discussions similaires

  1. Insérer un Tableau excel dans Word via VBA depuis Excel
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/05/2008, 08h52
  2. Génération d'un tableau formaté à partir de données Excel
    Par alunama dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/03/2008, 13h17
  3. selection filtrée tableau vba pour Excel
    Par dbgdbg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2007, 14h56
  4. Réponses: 1
    Dernier message: 05/09/2006, 17h56

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