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

Windows Forms Discussion :

[C#] Inserer une image dans Excel


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Points : 38
    Points
    38
    Par défaut [C#] Inserer une image dans Excel
    Environnement: VS .NET 2005
    Framework: 2.0
    OS: XP Pro SP2

    Bonjour,

    Voila je viens de passer sous C# et donc j'ai un petit problème avec Excel, en effet sous VB.NET j'arrive à écrire dans une cellule ainsi qu'a mettre une image.
    En C# écrire dans une cellule me pause aucun problème mais mettre une image, on dirait que c'est différent de VB.

    Voici mon code (réduit):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Microsoft.Office.Interop.Excel._Application appExcel=new Microsoft.Office.Interop.Excel.Application();
    Microsoft.Office.Interop.Excel._Worksheet feuilExcel = new Microsoft.Office.Interop.Excel.Worksheet();
    object Missing = System.Reflection.Missing.Value; //objet null différent d'un simple null
     
     
    appExcel.Workbooks.Open(fileXLS.FileName, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing);
     
    appExcel.Cells["2", "A"] = "test";
    feuilExcel.Shapes.AddPicture("c:\\img.gif", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 100, 100, 160, 96);
    Et donc là, le programme plante sur le AddPicture(), donc quelqu'un pourrait-il me donner l'astuce pour faire marcher cette méthode en C#

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Points : 38
    Points
    38
    Par défaut
    Le plantage est "Cette interface n'est pas prise en charge (Exception from HRESULT : 0x80004002 (E_NOINTERFACE))"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 101
    Points : 38
    Points
    38
    Par défaut
    UP

    Personne ne peut m'aider?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Si tu as le code équivalent - et qui fonctionne - en VB, ce serait bien de le poster pour voir la différence.
    Est-ce que c'est la même version d'Excel et la même langue (il me semble que ça peut avoir une influence)?

  5. #5
    Membre régulier Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Points : 88
    Points
    88
    Par défaut
    Un petit up, j'ai le même problème que ce jeunehomme

  6. #6
    Membre régulier Avatar de annalady
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 169
    Points : 88
    Points
    88
    Par défaut
    C'est bon j'ai trouvé un code qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    string path = "C:\\Test.xls";
    string picName = "C:\\test.png";
     
    Excel.Application app = new Excel.ApplicationClass();
    Excel.Workbook WB = app.Workbooks.Open(path, 0, false, 5, "", "", false,
    Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
    Excel.Sheets WS = WB.Worksheets;
    Excel.Worksheet CurSheet = (Excel.Worksheet)WS.get_Item("Feuil1");
    Excel.Range CurCell = (Excel.Range)CurSheet.get_Range("A1", "A1");
    app.Visible = true;
     
    CurSheet.Shapes.AddPicture(picName, Microsoft.Office.Core.MsoTriState.msoFalse,
    Microsoft.Office.Core.MsoTriState.msoCTrue, 10, 10, 100, 100);
    URL : http://eggheadcafe.com/forums/Forums...D=8506&INTID=2

Discussions similaires

  1. Inserer une image dans word depuis excel
    Par a.faurie dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/02/2014, 19h19
  2. Inserer une image dans une case excel
    Par aelle dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/03/2013, 09h46
  3. Inserer une image dans l'entête d'une feuille excel
    Par l0quito dans le forum VB.NET
    Réponses: 4
    Dernier message: 18/07/2008, 08h55
  4. Inserer une Image dans l'entête d'une feuille Excel
    Par l0quito dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 10/07/2008, 15h46
  5. [VB6] [Excel] Insérer une image dans une feuille
    Par mathias dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/10/2002, 07h44

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