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 :

Insérer image "à nom variable"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Par défaut Insérer image "à nom variable"
    Bonjour,

    Je me permets de demander de l'aide sur votre forum pour un projet que j'ai à réaliser, voilà la question :

    J'ai dans un onglet un listing quatre colonnes remplies : DATE/LIEU/DESIGNATION/PRIX en gros.

    A partir de cette liste j'insère une ligne vide entre chaque ligne et redimensionne la hauteur de cette ligne (j'ai réussis seul ), mais je voudrais que pour chaque ligne, la macro cherche l'image correspondant à la désignation (placée dans un dossier).
    Je comptais procéder de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ActiveSheet.Pictures.Insert("F:\NOM DE LA DESIGNATION.jpg").Select
     
    With Selection
    .ShapeRange.Left = Sheets("MENU").Cells(i, 3).Left
    .ShapeRange.Top = Sheets("MENU").Cells(i, 3).Top
    End With
    D'ou mes questions :
    * Comment faire en sorte que dans le code du chemin de l'image excel prenne la valeur de la case i-1,3 et y ajoute juste ".jpg" (l'image correspondant à la désignation portera le même nom + ".jpg").
    * Comment redimensionner l'image à la hauteur de la ligne

    Merci

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "F:\" & Sheets("MENU").Cells(i-1,3) &".jpg"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Par défaut
    Merci, mais j'ai encore un soucis, voilà le code que j'ai entré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            ActiveSheet.Pictures.Insert("G:\" & Sheets("RESULTAT").Cells(a - 1, 4) & ".jpg").Select
     
        With Selection
            .ShapeRange.Left = Sheets("RESULTAT").Cells(3, 3).Left
            .ShapeRange.Top = Sheets("RESULTAT").Cells(3, 3).Top
        End With
    J'ai le message d'erreur 1004 "Impossible de lire la propriété Insert de la classe Pictures" et la première ligne est surlignée en jaune.

    J'ai tout essayé, mais je ne comprends pas d'où vient le soucis...

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une autre proposition (à adapter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub aaa()
    Dim Image As String
     
    With Sheets("RESULTAT")
        Image = "C:\Documents and Settings\Administrateur\Mes documents\" & .Cells(1, 1) & ".jpg"
        'Image: chemin fichier, 0: non liée, 1: enregistrer avec document, Gauche, Haut, Largeur, Hauteur
        .Shapes.AddPicture Image, 0, 1, .Cells(3, 3).Left, .Cells(3, 3).Top, 70, 50
    End With
    End Sub

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Par défaut
    Désolé mais je n'y arrive toujours pas...

    Point positif : l'erreur précédente n'est plus d'actualité. Pour vérifier que je n'ai pas fait de bétises, voilà le code que j'ai utilisé (image sur la clé usb G):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Image As String
     
    With Sheets("RESULTAT")
        Image = "G:\" & Sheets("RESULTAT").Cells(a - 1, 4).Value & ".jpeg"
        'Image: chemin fichier, 0: non liée, 1: enregistrer avec document, Gauche, Haut, Largeur, Hauteur
        .Shapes.AddPicture Image, 0, 1, .Cells(a, 3).Left, .Cells(a, 3).Top, 70, 50
    End With
    L'erreur est désormais la suivante "Erreur 1004 : Le fichier spécifié est introuvable". Pourtant j'ai vérifié et essayé dans d'autres cas, à chaque fois le chemin est le bon (et c'est le bon que le programme place dans "image").
    C'est désormais la ligne qui commence par .Shape.... qui est surlignée en jaune !

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    C'est quoi ton a?
    Fais ce test et reporte ce que tu as dans les 2 msgbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub aaa()
    Dim Image As String
     
    With Sheets("RESULTAT")
        MsgBox a
        Image = "G:\" & .Cells(a - 1, 4).Value & ".jpeg"
        MsgBox Image
        'Image: chemin fichier, 0: non liée, 1: enregistrer avec document, Gauche, Haut, Largeur, Hauteur
        '.Shapes.AddPicture Image, 0, 1, .Cells(a, 3).Left, .Cells(a, 3).Top, 70, 50
    End With
    End Sub

Discussions similaires

  1. Récupérer le contenu d'une variable quotée
    Par wayat91 dans le forum VBScript
    Réponses: 3
    Dernier message: 04/03/2011, 11h01
  2. Caractere echappement (quote) et variables sous pgsql
    Par tonio.jt dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 11/10/2009, 21h06
  3. Export avec double quote pour variables texte
    Par brand003 dans le forum SAS Base
    Réponses: 13
    Dernier message: 15/04/2009, 18h05
  4. Réponses: 0
    Dernier message: 05/02/2008, 15h41

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