afficher une image en cliquant sur une cellule

diablo7431

XLDnaute Nouveau
[REGLER] afficher une image en cliquant sur une cellule

Bonjour,

Je voudrais, dans la liste que j'ai mis ci-joint, pouvoir afficher (dans un shape, par ex.) l'image correspondante à la cellule du titre du film.

Je m'explique:

à partir de la colonne B6 ce trouve les titres des films, en cliquant dessus il faudrait dans une fenêtre distincte (shape, form, je ne sais pas très bien), affiche, ici en l'occurrence, la pochette du film.

je chercherais le moyen d'avoir un code qui récupèrerais le titre du film inscris dans la cellule et aller chercher l'image portant le même nom dans un dossier

j'aurais un dossier de ce type:

<liste film>
<Pochette>
les barons.jpg
99 f.jpg
...
liste.xls

j'ai essayer l'image dans le commentaire, mais il y a pas mal de manipulation à faire.

Au moins de cet façon je n'aurais plus qu'a mettre l'image dans le dossier et lui me l'afficherais automatiquement, quand je cliquerais sur la cellule du film.

Merci d'avance.

lien pour le fichier:
Ce lien n'existe plus
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : afficher une image en cliquant sur une cellule

Re,

Voici un premier essai.

Les images doivent se nommer comme le titre et doivent être dans le même répertoire que le fichier Excel !

Prends le fichier ici.
 

diablo7431

XLDnaute Nouveau
Re : afficher une image en cliquant sur une cellule

merci à vous, en effet pas de fichier mais je viens de remarquer que je ne l'avais pas compressé, et je pense que MEg... ne prend pas les fichiers XLS pour éviter les virus.

Je regarde tout de suite ce que vous m'avez préparé et je vous tiens au courant.

:), merci.
 

diablo7431

XLDnaute Nouveau
Re : afficher une image en cliquant sur une cellule

merci pour ce travail :)

HULK :

s'est pas loin de ce que je cherchais, mais je voudrais éviter d'avoir un bouton en plus "voir l'affiche", je voudrais pouvoir afficher directement "l'userform" avec la photo en cliquant sur la cellule du titre.:)

En plus je pense que tu as voulu faire un moyen de cliquer sur le titre du film puis de cliquer sur le bouton "voir l'affiche" et à ce moment là il ouvre "l'userform", mais si c'étais le cas, sa ne marche pas?:confused:

je dois d'abord clique sur "voir l'affiche" et ensuite choisir dans la liste de "l'userform"!

---------------------------​

BOISGONTIER :

Avec le fichier que tu m'a envoyé quand je clic sur la cellule, j'ai un message d'erreur de type 9, avec un problème à cet ligne ci du code:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 1 And Target.Count = 1 Then
   If Target <> "" Then
     répertoire = ThisWorkbook.Path   ' à adapter
     NomImage = Target
     If Dir(répertoire & "\" & NomImage & ".jpg") <> "" Then
       taille = TaillePixelsImage(répertoire, NomImage & ".jpg")
       [COLOR="Red"]rap = Val(Split(taille, "x")(0)) / Val(Split(taille, "x")(1))[/COLOR]
       UserForm1.Image1.Height = 200
       UserForm1.Image1.Width = UserForm1.Image1.Height * rap
       UserForm1.Height = UserForm1.Image1.Height + 20
       UserForm1.Width = UserForm1.Image1.Width
       UserForm1.Image1.Picture = LoadPicture(répertoire & "\" & NomImage & ".jpg")
       UserForm1.Show
     End If
   End If
 End If
End Sub

j'ai essayé de voir se que je pouvais faire mais je ne trouve pas.:(

ps: je pense qu'un petit coup de "checker" avec vos deux idée donnerais bien
 

diablo7431

XLDnaute Nouveau
Re : afficher une image en cliquant sur une cellule

bonsoir BOISGONTIER tout est dans le même répertoire, mais je travaille excel 2007.

que veux tu dire par:

"répertoire = ThisWorkbook.Path ' à adapter"

dois-je modifier quelque chose dans le code?
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : afficher une image en cliquant sur une cellule

Re,

Le lien pour ton fichier modifié.
EDIT : Ou bien, tu peux effacer le code de l'UserForm1 et remplacer celui de la feuille1 par celui-ci
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)' Feuil1

    Dim Affiche As Variant
    
    If Not Application.Intersect(Target, [B6:B1000]) Is Nothing Then
        UserForm1.Show 0
        With UserForm1
            .Label1.Caption = ActiveCell.Value
            .Image1.Picture = LoadPicture()
            Affiche = ThisWorkbook.Path & "\" & .Label1.Caption & ".jpg"
        If Dir(Affiche) <> "" Then
            .Image1.Picture = LoadPicture(Affiche)
        End If
        End With
    End If
    
End Sub
 

matexcel28

XLDnaute Nouveau
Bonsoir,

Je déterre ce post car c'est ce que je voudrais faire mais je n'y comprends rien...
J'ai un fichier Excel où dans la colonne A il y a des numéros de mes échantillons d'émaux (1,2,3,...) et dans un fichier sur iCloud les photos de ces échantillons 1.jpeg, 2.jpeg,....
Quelqu'un pourrait m'éclairer et me guider pas à pas?

Merci d'avance,

Fred
 

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ignore ce qu'est iCloud
Essayez ce code dans le module de l'objet Worksheet qui représente la feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim OOt As OLEObject, Img As MSForms.Image, RéfFic As String
   If Target.Column <> 1 Or Target.CountLarge <> 1 Then Exit Sub
   On Error Resume Next
   Set OOt = Me.OLEObjects("ImgEchant")
   If Err Then
      Set OOt = Me.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _
         DisplayAsIcon:=False, Left:=103.5, Top:=21, Width:=247.5, Height:=206.25)
      Set Img = OOt.Object
      Img.PictureSizeMode = fmPictureSizeModeZoom
      OOt.Name = "ImgEchant"
   Else: Set Img = OOt.Object: End If
   On Error GoTo 0
   RéfFic = ThisWorkbook.Path & Target.Value & ".jpeg"
   If Dir(RéfFic) = "" Then
      MsgBox "Fichier inexistant :" & vbLf & RéfFic, vbExclamation
      OOt.Visible = False
   Else
      Img.Picture = LoadPicture(RéfFic)
      OOt.Top = Target.Top
      OOt.Left = Target.Width
      OOt.Visible = True: End If
   End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26