Bonjour,
Je souhaiterais construire une "dvdtheque" via excel.
Pour cela j'ai une liste déroulante avec mes films. Ce que je souhaiterais faire est afficher la jaquette du film suivant le résultat de la liste déroulante.
Merci d'avance,
Kevin
Bonjour,
Je souhaiterais construire une "dvdtheque" via excel.
Pour cela j'ai une liste déroulante avec mes films. Ce que je souhaiterais faire est afficher la jaquette du film suivant le résultat de la liste déroulante.
Merci d'avance,
Kevin
Bonsoir,
Je n'ai pas de MAC et donc pas possible de faire un test sur cette plate-forme.
Voici une code qui fonctionne sur Excel 2003.
Un classeur contenant une feuille nommée bd qui contient une liste de 3 colonnes.
Colonne A - Les titres
Colonne B - Les auteurs
Colonne C - Le nom de l'image
Une USERFORM nommée UserForm1, contenant un contrôle Combobox1 et Image1
Il y a lieu de modifier dans ce code la variable Folder qui est le répertoire où se trouve les images (JPEG) qui doivent avoir le même nom que ceux contenu dans la colonne C.
Je n'ai pas fait de test si l'image n'est pas trouvée, il est bien entendu que cela doit être fait dans une application en production mais je n'ai pas eu le temps de le développer
L'idéal pour moi serait de mettre une interception d'erreur et de renvoyer une image contenant par exemple un texte "Pas disponible" pour éviter une message type msgbox qui serait trop lourd pour l'utilisateur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Option Explicit Dim sht As Worksheet Dim db As Range Private Sub ComboBox1_Change() Dim Position As Integer With Me Position = .ComboBox1.ListIndex + 1 'image = Application.WorksheetFunction.Index(db, Position, 3) ChargeImage Application.WorksheetFunction.Index(db, Position, 3) End With End Sub Private Sub UserForm_Initialize() Set sht = ThisWorkbook.Worksheets("bd") Set db = sht.Range("A2:C" & Range("A2").End(xlDown).Row) Debug.Print db.Address With Me With .ComboBox1 .ColumnHeads = True .ColumnCount = 3 .ColumnWidths = "215;7;7" .List = db.Value .ListIndex = 0 End With End With End Sub Sub ChargeImage(image As String) Debug.Print ">" & image & "<" Dim Folder As String Folder = "Z:\Développement\En cours\Images\Livres\" With Me.Image1 .Picture = LoadPicture(Folder & image & ".jpg") .PictureSizeMode = fmPictureSizeModeZoom End With End Sub
Merci beaucoup,
Je regarde cela se soir et je vous tiens au courant.
Edit : Je n'ai aucune notion en VBA... Merci de me guider un peu malgré les tutos que je suis..
Pour de l'aide je vous joins mon fichier excel.
Merci d'avance,
Kevin
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager