Re : Affichage d'image
Bonjour Tatiak, le forum
Après de nombreuses tentatives je dois reconnaître que je n'arrive à rien
J'ai tenté d'adapter ton code:
j'ai changé l'adresse de la ref de l'image (car en colonne A dans mon tableau) et renommé le Userform1 en Userform 2
Ce qui donne:
Const ColRef = 1 'n° de la colonne contenant la référence de la photo
'ici la référence est en colonne A donc la valeur est : 1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' s'exécute au double-clic
Dim Image As String, Ref As String
If Not Intersect(Target, Range("A:H")) Is Nothing Then ' quand on clique dans les colonnes
' de A à H
' pour afficher une jaquette dans une fenêtre au milieu de l'écran
If Target.Row > 1 Then 'si la ligne cliquée est supérieure à 1
Ref = Cells(Target.Row, ColRef).Value 'la valeur de la référence de la photo
Image = ActiveWorkbook.Path & "\" & Ref & ".gif" 'ici on compose le chemin et le nom de la photo avec l'extension gif
' puis on teste son existence. Si le fichier n'existe pas, on teste d'autres extensions : jpg,bmp,gif
If Not ExisteGIF(Image) Then Image = ActiveWorkbook.Path & "\" & Ref & ".JPG"
If Not ExisteGIF(Image) Then Image = ActiveWorkbook.Path & "\" & Ref & ".BMP"
If Not ExisteGIF(Image) Then Image = ActiveWorkbook.Path & "\PasImage.GIF"
'si pas trouvé on prend l'image par défaut "PasImage.gif" et on la charge vers l'Usf2
UserForm2.Image1.Picture = LoadPicture(Image)
'on inscrit le nom de la photo dans l'entête de l'Usf
UserForm2.Caption = Target.Value
' on affiche l'Usf
UserForm2.Show
End If
Cancel = True 'pour éviter de laisser le focus dans la case cliquée
End If
End Sub
J'ai copié ta fonction dans le module 1:
Public Function ExisteGIF(Image As String) As Boolean
Dim tatiak As Object
Set tatiak = CreateObject("Scripting.FileSystemObject")
ExisteGIF = tatiak.FileExists(Image)
End Function
J'ai crée un UserForm N°2
ET IL NE SE PASSE STRICTEMENT RIEN,
Même pas un message d'erreur.
Quand je double clique sur le titre du film le curseur apparait comme pour saisir du texte.
Je sèche lamentablement