XL 2016 Affichage d'une photo dans une zone d'un tableau

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ScalpelG77176

XLDnaute Nouveau
Bonjour la compagnie.
Voilà, j'ai une question pour vous.
Admettons que dans le répertoire "C:\Fiches\Photos", il y est dix fichiers intitulés 1.jpg, 2.jpg ... 10.jpg
Dans le répertoire "C:\Fiches" un tableau Excel avec deux onglets : "Fiche" et "Données"
L'onglet "Données" contient différentes choses dont une colonne "Photos" avec pour chaque événement le nom du fichier correspondant à une photo (1.jpg, 2.jpg ... 10.jpg)
Sur l'onglet "Fiche" je souhaite afficher, par exemple, la photo correspondant à l'événement n° 3 (soit le fichier 3.jpg)

Je n'y arrive pas, pouvez-vous me donner un coup de main ?
Également si aucun fichier ne correspond à un élément du tableau, je souhaite affiche la photo ayant pour nom 0.jpg

J'avoue c'est pas simple, j'ai fait au mieux pour expliquer mon soucis.

Merci d'avance
 
Bonjour.
Pour une image ActiveX, pour pouvez lui affecter .Picture = LoadPicture( "C:\Fiches\Photos\" & N & ".jpg")
Pour une image de formulaire, je ne sais pas.
L'enregistreur de macro ne produit aucun code quand on change l'image à partir d'un fichier.
 
Bonjour à tous

Un exemple à adapter pour une image de formulaire:

VB:
Sub Load_Photo()
Dim Photo_Path As String
Dim Photo_File As String
Dim Shape_Name As String
    
    With ActiveSheet
        For Each Elem In .Range("A1").Cells
            If Elem.Text <> vbNullString Then
                Photo_Path = ThisWorkbook.Path & "\"
                Photo_File = Photo_Path & Elem.Text & ".jpg"
                Shape_Name = "Photo_" & Elem.Text
                If Dir(Photo_File) <> vbNullString Then
                    On Error Resume Next
                        Shapes(Shape_Name).Delete
                    On Error GoTo 0
                    With .Pictures.Insert(Photo_File).ShapeRange
                        .Name = Shape_Name
                        .LockAspectRatio = msoFalse
                        Set E = Elem.Offset(, 1)
                            .Height = E.Height
                            .Width = E.Width
                            .Top = E.Top + (E.Height - .Height) / 2
                            .Left = E.Left + (E.Width - .Width) / 2
                        Set E = Nothing
                    End With
                End If
            End If
        Next
    End With
    
End Sub
 
Bonjour à tous.

Merci pour tout.

J’ai trouvé sur internet une solution qui fonctionne cliquez ici pour être rediriger vers l’article (en bas de l'article il y à un lien pour télécharger un fichier exemple).
J'ai adapté le fichier exemple à ma sauce, et j'en suis très satisfait.

Ci-joint un fichier exemple pour la gestion d'annonces immobilières (recherche de biens).
Les données sont entrées dans l'onglet "Annonces", et elles sont visualisables sur l'onglet "Fiche" en sélectionnent le n° d'annonce dans la case C1 (menu déroulant).

Pou ma part, le fil est RÉSOLU.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour