Afficher image selon valeur

Bonjour

Je voudrais qu'une photo de la personne apparaisse selon un menu déroulant.

Ces images sont dans un dossier. La cellule où devront apparaitrent ces images à la formule :

="U:\DAMA\Dossier des jeunes\Présents\- ID Photo"&"\"&$A$1&".jpg"

A1 étant la cellule de mon menu déroulant.

La formule s'actualise et le chemin pour la photo est juste mais cela reste une formule et ne devient pas une photo.

Que manque t il ?

Bonjour Theyoshi,

Je doute que ça puisse fonctionner avec une simple formule.

Il faut une macro évènementielle qui génère la photo à chaque changement en A1 :

private sub worksheet_change(byval target as range)
dim r as range
set r = intersect(target, range("A1"))
if not r is nothing then
    sfilename = "U:\DAMA\Dossier des jeunes\Présents\- ID Photo\" & r.value & ".jpg"
    with me
        if ShapeExists("Photo") then .shapes("Photo").delete
        if dir(sfilename) = "" then exit sub
        set rDest = .range("D1")
        with .shapes.addpicture(sfilename, msofalse, msotrue, rDest.left, rDest.top, -1, -1)
            .name = "Photo"
            .lockaspectratio = true
            .width = rDest.width
        end with
    end with
end if
end sub

function ShapeExists(sName$, optional ws as worksheet) as boolean
if ws is nothing then set ws = activesheet
on error resume next
ShapeExists = ws.shapes(sName).id
end function

Dans cet exemple, la photo est insérée en D1 en respectant les dimensions de l'image de départ et la largeur de la cellule de destination.

L'image créée sera automatiquement nommée "Photo".

Le code est à coller dans le module de la feuille concernée.

Cdlt,

Merci beaucoup de cette macro qui fonctionne à merveille

Bonsoir Theyoshi,

3GB m'a renvoyé vers vous concernant ma demande, hors je n'arrive pas à appliquer la macro qu'il vous à fournit. Avez-vous la possibilté de me faire parvenir votre dossier (avec les images) dans lequel cette dernière fonctionne ?

A+

Rechercher des sujets similaires à "afficher image valeur"