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

API, COM et SDKs Delphi Discussion :

Delphi - Excel - ajout d'image


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut Delphi - Excel - ajout d'image
    bonjour a toutes et a tous,
    je voudrais a partir d'un programme Delphi ajouter a un fichier excel existant une image de type JPG via OLE automation.
    J'arrive a manipuler les cellules sans probleme, mais j'ai aucune idee de comment inserer une image.

    Merci.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben de la même façon tu accéde au cellule tu peu inserer image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Pictures.Insert ("100_0917.JPG")
    ... remplace Activesheet.. par ta variable qui "pointe" sur la feuille excel..

  3. #3
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    Ben il me met :

    La methode insert de la classe pictures a echoue...

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    essai de mettre le chemin complet pour l'image...

  5. #5
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    effectivement ca marche beaucoup mieux...
    Si j'osais... je demanderais comment la deplacer, la redimensionner... sachant qu'en fait j'en ai plusisurs a mettre... donc je dois pouvoir acceder a chaque image...

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    en fait ... pour cela utilise Excel... enregistremet de macro ... et tu vera ce que cela donne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Dim p As Excel.Picture
     
        Set p = ActiveSheet.Pictures.Insert( "100_0917.JPG")
         p.Height = 100 ' Redéfinit la hauteur de l'image
         p.Width = 100 ' largeur
    'Dans ton cas remplace activesheet ar ta variable .. feuille..
        p.Top = ActiveSheet.Range("D5").Top ' point d'implatation haut
        p.Left = ActiveSheet.Range("D5").Left ' point d'implantation gauche

  7. #7
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    salut, il est intéressant le sujet.
    bbil est il possible d'insérer une image dans excel sans passer par un fichier sur le disque, à partir d'une image stockée dans une base de donnée ?

  8. #8
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    salut,
    j'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var image : variant;
    ...
      image := feuille.Pictures.Insert('C:\tyr.jpg');
      showmessage('ok image');
      image.top := feuille.range('a5').top;
      showmessage('ok top');
    j'ai bien le premier showmessaga ('ok image') mais avant le second j'ai l'erreur suivante :

    membre introuvable.

    feuille est bon , je l'utilise juste avant pour remplir des cellules.
    Au fait, A5 est une cellule fusionnee, mais la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    zone := feuille.Range('a5').MergeArea;
    me donne la meme erreur.

  9. #9
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    je me repond a moi meme. Il semblerait que ce soit l'appel a
    feuille.range().top qui fasse planter. Si je mets une valeur ca marche.

    PAr contre le code suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      rapport := image.heigth / image.width;
    me donne l'erreur suivante :

    methode heigth non supportee.

    On ne peut pas interroger une valeur d'un objet ?

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    je connai pas bien delphi.. mais une recherche dans le forum .. me laisse à pense à une syntaxe du genre ...:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image.top := feuille.range['a5'].top;

Discussions similaires

  1. Ajouter une image dans une feuille excel?
    Par THOMAS Patrice dans le forum WinDev
    Réponses: 5
    Dernier message: 29/05/2012, 15h20
  2. Réponses: 2
    Dernier message: 19/11/2004, 08h54
  3. [Collections] Methode inconnue dans le tutorial Delphi Excel
    Par myuils dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 04/11/2004, 10h26
  4. [C#] ajouter une image dynamiquement
    Par h_imane dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h27
  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