Insertion image avec VBA juste avec son nom

Bonjour

J'ai piqué une macro sur le forum, elle marche mais ne trouve pas les images pourtant tout a l'air correct.

Pouvez vous m'aider

le but du fichier est de renseigner un tableau en feuil2, où se trouvera le nom de la photo et en lançant la macro les photo s'integre en feuil1

Merci d'avance

Bonjour,

Pas le temps de déboguer le système réupéré que tu essaies d'adapter... Si cela peut t'être utile : un système simple et facilement adaptable.

Tu places une liste des noms de tes images. Ici les noms sans extension, l'extension est mise par la macro (.jpg). Cela peut aisément s'adapter...

Cette liste alimente une liste déroulante sur ta feuille d'affichage, en A1 (ça s'adapte aisément aussi). Tu y sélectionnes un nom et l'image correspondante est affichée (angle supérieur gauche cadré sur B2, ce qui s'adapte là encore aisément).

Une seule macro, à placer dans le module de la feuille concernée est nécessaire : elle réagit au changement en A1, supprime l'image existante et la remplace par celle appelée.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dossImg As String, nomImg As String, Img As Object
    If Target.Address = "$A$1" Then
        On Error Resume Next
        Me.Shapes("Image").Delete
        On Error GoTo 0
        nomImg = Target.Value
        If nomImg <> "" Then
            nomImg = nomImg & ".jpg"
        Else
            Exit Sub
        End If
        dossImg = "D:\Users\Documents\"
        On Error GoTo errimg
        Set Img = Me.Pictures.Insert(dossImg & nomImg)
        On Error GoTo 0
        Img.Left = Me.Range("B2").Left + 10
        Img.Top = Me.Range("B2").Top
        Img.Width = Me.Range("B2").Width - 20
        Img.Name = "Image"
    End If
    Exit Sub
errimg:
    If Err.Number = 1004 Then
        MsgBox "L'image " & nomImg & " n'a pas été trouvée dans le dossier " _
         & dossImg & ".", vbInformation, "Erreur Image"
    Else
        Resume Next
    End If
End Sub

Tu modifies le nom et chemin du dossier contenant les images, bien sûr, Et tu ajustes selon les autres modifications que tu souhaites.

Cordialement.

NB- En relisant, l'image s'ajuste en largeur sur la cellule B2, en se centrant en largeur et laissant une marge de 10 pts de chaque côté, le haut étant aligné sur le bord supérieur de la cellule. Pour conserver cette méthode de dimensionnement-positionnement, tu fais varier la largeur de la cellule réceptrice. Sinon tout cela est modifiable à convenance...

Merci mais j'ai du mal avec le tien les Me posent problème

Si quelqu'un pouvait regardez svp le mien

Me réfère toujours à l'objet concerné ! Au cas particulier la feuille dans le module de laquelle tu as placé la macro.

Ok bon a savoir mais vba me dit erreur de compilation utilisation incorrect de mot cle Me


J'ai remplacé Me par Sheets("Feuil1")

et j'ai une erreur 424 sur la première ligne

If Target.Address = "$A$1" Then

Es-tu sûr que tu as mis la procédure dans un module de feuille ?

(Elle est inopérante dans un module Standard.)

Rechercher des sujets similaires à "insertion image vba juste nom"