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

Images Discussion :

Copier une image .png et la coller dans un fichier excel [Débutant]


Sujet :

Images

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Copier une image .png et la coller dans un fichier excel
    Bonjour,

    Je souhaite copier une image .png et la coller dans un fichier excel.
    Je suis débutante, alors tout est laborieux. Cependant :
    mon fichier excel, je l'ai créé,
    je sais copier une figure matlab dans mon fichier excel,
    par contre, pas moyen de faire la même chose avec ma 'tite figure .png.

    Voici un bout de mon code :

    A ce stade du code, j'ai ma figure qui est enregistrée dans mon répertoire courant et qui est ouverte. Je veux la copier et la coller dans le fichier qui s'appelle "INPUTS.xls".

    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
    ----------------
       print -dmeta;   %.................Copying to clipboard
     
       FILE  = 'C:\Home\mon_dossier\INPUTS.xls';
       Feuil = 'Feuil1';
       Range = 'B2'; % Ca positionne mon image au niveau de la cellule B2
     
       Excel = actxserver ('Excel.Application');
       Excel.Visible = 1;
     
       if ~exist(FILE,'file')
           ExcelWorkbook=Excel.Workbooks.Add;
           ExcelWorkbook.SaveAs(FILE);
           ExcelWorkbook.Close(false);
       end
       invoke(Excel.Workbooks,'Open',FILE); %Open the file
       Sheets = Excel.ActiveWorkBook.Sheets;
       sheet_1 = get(Sheets, 'Item', Feuil);
       sheet_1.Activate
     
       ActiveSheet  = Excel.ActiveSheet;
       ActiveSheetRange  = get(ActiveSheet,'Range',Range);
       ActiveSheetRange.Select;
       ActiveSheetRange.PasteSpecial;
    ------------
    Et bien ça plante à la première ligne : sur le "print -dmeta;". Pourtant ça marche avec les figures matlab, et d'après l'aide, je comprends que print manipule sans souci plusieurs formats, dont les .png.

    Une idée ??

    Merci :-)

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,
    Citation Envoyé par bambou015 Voir le message
    Et bien ça plante à la première ligne : sur le "print -dmeta;".
    Y-a-t-il un message d'erreur? Si oui, peux-tu nous le montrer?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Oui, voici le message :

    ??? Error using ==> graphics\private\validate at 307
    Error using ==> graphics\private\validate at 26
    No Figure to print.

    Error in ==> CopyImageInExcel at 5
    print -dmeta; %.................Copying to clipboard
    Pourtant j'ai bien mon image, ouverte, dans le répertoire courant, là où est aussi mon programme.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    print permet d'imprimer ou de sauvegarder vers un fichier la figure courante ouverte dans MATLAB.

    L'option -dmeta permet effectivement de copier la figure dans le presse-papier, mais il faut que ta figure soit affichée dans MATLAB

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Yeah, bien vu ! Petit à petit je comprends.

    J'ai donc ouvert mon image avec matlab :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    im = imread ('monimage.png');
    image (im);
    Puis ensuite appliqué ma fonction, et ça marche.
    Presque, pour l'instant ça me la copie sous forme d'une série de chiffes et lettres. Mais je devrais réussir à le débugger.
    Je crierai à l'aide si je n'y arrive pas ;-).

    Merci beaucoup !

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Il semble que j'avais mis un "\" en trop dans le chemin de mon image.
    Bref, ça marche, merci ! Hop, clos :-).

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

Discussions similaires

  1. [WD14] API GDI et GDI+ : copier une image PNG dans un champ image
    Par Froglock dans le forum WinDev
    Réponses: 3
    Dernier message: 26/08/2009, 21h40
  2. Réponses: 4
    Dernier message: 29/01/2009, 10h40
  3. boucle avec copier coller dans un fichier excel
    Par Chalu_C_Momo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/11/2008, 16h45
  4. [HTML] Utilisation d'une image stockée sur un serveur dans un fichier HTML
    Par Rosa2008 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/07/2008, 08h01
  5. Réponses: 8
    Dernier message: 11/12/2007, 17h04

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