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

Macros et VBA Excel Discussion :

Problème d'insertion d'une image [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut Problème d'insertion d'une image
    Bonjour,

    Je veux ajouter une image dans la première case de mon fichier Excel. J'essaye de faire ça mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Worksheets("Synthèse actions").Cells(1, 1).Pictures.Insert(cheminImage)
    J'ai essayé sans le Cells(1, 1) ça ne marche pas non plus.

    Le chemin est pourtant bon et aucune image dans le fichier Excel. Comment puis-je faire ?
    J'ai essayé différents codes sur internet et j'ai retrouvé fréquemment le même code que le mien mais ça ne marche pas.

    Cordialement,

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    Pour un autre sujet (voir exemple #12), le code suivant permet de faire une insertion d'image à une certaine plage de la feuille courante.

    Charge l'image <filename> dans la plage de cellule <r>, et lui donne le nom <PictName>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub LoadPict(PictName As String, filename As String, r As Range)
        If DoesPictExist(PictName) Then
            ActiveSheet.Pictures(PictName).Delete
        End If
     
        With ActiveSheet.Pictures.Insert(filename)
            .Name = PictName
            .Left = r.Left + 1
            .Top = r.Top
            .Width = r.Cells(1, r.Columns.Count).Left - r.Left + r.Columns(1).Width - 1
            .Height = r.Cells(r.Rows.Count, 1).Top - r.Top + r.Rows(r.Rows.Count).Height
        End With
    End Sub
    Fonction vérifiant l'existance d'une image de même nom dans le classeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Function DoesPictExist(PictName As String) As Boolean
        DoesPictExist = False
     
        Dim p As Object
        For Each p In Pictures
            If p.Name = PictName Then
                DoesPictExist = True
                Exit For
            End If
        Next p
    End Function

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    Bonjour,

    J'ai trouvé la solution à mon problème. Je voulais insérer une image PNG et Excel n'accepte pas ce format. En revanche avec un JPG ça marche. C'est bizarre car en VBA Access je pouvais gérer les PNG.

    J'ai du coup une autre question, la taille de mon image est réduite, savez-vous comment lui donner sa taille réelle ?

    Cordialement,

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Re.

    la taille de mon image est réduite, savez-vous comment lui donner sa taille réelle ?
    En mettant en commentaire les lignes 10 et 11 (Width et Height)
    de la fonction LoadPict envoyé précédemment.

    Ou bien si une autre fonction est utilisée, en insérant l'image dans la feuille,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Synthèse actions").Pictures.Insert(cheminImage)
    et pas dans une cellule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Synthèse actions").Cells(1, 1).Pictures.Insert(cheminImage)

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

Discussions similaires

  1. [XL-2013] Problème d'insertion d'une image avec VBA
    Par Fredooooo dans le forum Excel
    Réponses: 1
    Dernier message: 09/06/2014, 16h53
  2. Problème d'insertion d'une image dans un layout avec weight
    Par Devil Shark dans le forum Composants graphiques
    Réponses: 16
    Dernier message: 02/10/2013, 15h53
  3. problème d'insertion d'une image
    Par BIREFKOUN dans le forum Beamer
    Réponses: 1
    Dernier message: 23/01/2013, 11h42
  4. [Lazarus] Problème d'insertion d'une image en arrière plan
    Par lyes312 dans le forum Lazarus
    Réponses: 0
    Dernier message: 03/06/2008, 17h48
  5. problème pour faire un insert avec une image
    Par vbcasimir dans le forum Modules
    Réponses: 3
    Dernier message: 02/11/2005, 09h21

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