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)?
    On ne peut pas faire boire un âne qui n'a pas soif.

  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