VBA afficher une photo jpg [Résolu]

jldancet 21 Messages postés lundi 14 août 2006Date d'inscription 17 février 2007 Dernière intervention - 11 févr. 2007 à 22:32 - Dernière réponse : jldancet 21 Messages postés lundi 14 août 2006Date d'inscription 17 février 2007 Dernière intervention
- 17 févr. 2007 à 16:00
 Bonjour
J'ai un tableau excel avec des petites images (icones) dans la colonne A et en regard le no de produit en colonne B
J'aimerai en cliquant sur l'icone afficher une image jpg plus grande pour mieux voir le produit choisi.
Je dispose dans un repertoire de toutes les images jpg dont le nom est formé du no article.jpg-
un bout de code serait le bienvenu
Merci d'avance

JLDANCET
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 14 févr. 2007 à 02:07
3
Merci
Il faudrait que tu mettes le bout de ton code pour que ce soit plus facile de comprendre, parce que ça devrait fonctionner assez facilement.

Le problème peut venir du chemin que tu donnes ou de la manière que tu appelles le LoadPicture

Spécifie le nom de la feuille
Sheets("MaFeuille").Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Photos" & Range("A1"))
ou quelque chose comme ça
Assure-toi aussi que ton contrôle Image s'appelle bien Image1, sinon change son nom...

MPi

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_MPi
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 12 févr. 2007 à 00:12
0
Merci
Je pense que le plus simple est de mettre un contrôle Image sur ta feuille. Mets sa propriété Autosize = True
Tu sélectionnes le nom d'une image, disons en colonne A, puis sur click de l'image, tu charges  celle-ci avec un code comme suit

Private Sub Image1_Click()  ' ou DblClick
    If Range("A" & ActiveCell.Row) <> "" Then
        Image1.Picture = LoadPicture(Chemin & "" & Range("A" & ActiveCell.Row))
    End If
End Sub

Attention toutefois si tes images sont grandes
Si la cellule contient tout le chemin, tu n'auras qu'à mettre le Range dans LoadPicture

MPi
Commenter la réponse de cs_MPi
jldancet 21 Messages postés lundi 14 août 2006Date d'inscription 17 février 2007 Dernière intervention - 13 févr. 2007 à 14:04
0
Merci
Merci pour la réponse rapide, mais probleme : au moment de l'execution
il y a tiltage sur "LoadPicture" en disant que ce n'est pas défini, il doit y a voir une magouille à rajouter au début pour
définir, si tu peux rajouter cela au code ce sera parfait
merci
JLDANCET
Commenter la réponse de jldancet
jldancet 21 Messages postés lundi 14 août 2006Date d'inscription 17 février 2007 Dernière intervention - 14 févr. 2007 à 13:01
0
Merci
Bonjour
Voici mon code :


Private Sub Image1_Click()  ' ou DblClick
           Image1.Picture = LoadPicture("D:\image\338609.jpg")
End Sub




LOADPICTURE est marqué en noir et le message est :
erreur de compilation SUB ou FONCTION non définie
le controle s'appelle bien "image1"


Encore merci


JLDANCET
Commenter la réponse de jldancet
jldancet 21 Messages postés lundi 14 août 2006Date d'inscription 17 février 2007 Dernière intervention - 17 févr. 2007 à 16:00
0
Merci
Tout est bon, j'ai essayé avec un document EXCEL différent ou j'ai déja fait du développement
et le loadpicture marche correctement.

encore merci
Commenter la réponse de jldancet

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.