Ajouter un lien hypertexte à chaque photo

Bonjour à tous,

Dans un tableur Excel, j'ai une feuille dans laquelle j'ai une colonne qui contient un chemin d'accès vers une image sur le disque dur (par exemple C:\Mes documents\Mes images\image.jpg) dans chaque cellule.

Mon but est d'afficher chaque image au niveau de la cellule dans laquelle se trouve le lien, puis d'ajouter un lien hypertexte à cette image pour pouvoir l'afficher quand on clique dessus (par exemple pour la cellule A1 contenant la valeur C:\Mes documents\Mes images\image.jpg j'insère image.jpg en A1 et je lui ajoute un lien hypertexte menant vers C:\Mes documents\Mes images\image.jpg).

J'ai déjà trouvé sur internet une macro qui marche très bien pour afficher les images.

Sub SelectColAffImage()
    Range("M:M").Select
    Call AffImage
End Sub

Sub AffImage()

    ' Sélectionner les cellules contenant un lien vers une image et appeler la macro
    ' AffImage les affichera sur le lien ou dans la colonne de gauche ou de droite
    Const h = 150 ' hauteur des images
    Const imgDefaut = "" ' saisir chemin complet et le nom de l'image par défaut à afficher si erreur
    Dim msg As String, r As Long, lmax As Long
    Dim c As Range, numfich As Integer
    Dim fich
    r = 0
    For Each c In Selection
        'c.ColumnWidth = 10
        fich = c.Value
        ' test fichier
        If fich <> "" Then
            If Left(fich, 7) = "http://" Then
                ' on conserve le lien sur le net
            Else
                numfich = FreeFile()
                On Error GoTo errfich
                Open fich For Input As #numfich
                Close #numfich
                On Error GoTo 0
            End If
        End If
            '
        If fich <> "" Then
            c.RowHeight = h 'fixer la hauteur de ligne
            ActiveSheet.Pictures.Insert(fich).Select 'ouverture image
            With Selection.ShapeRange
                .LockAspectRatio = msoTrue 'conserver les proportions
                .Height = h - 4 'hauteur de l'image = hauteur des lignes - 4
                .Left = c.Offset(0, r).Left + 2 'à gauche colonne A (sinon tu calcules avec la largeur de colonne)
                .Top = c.Top + 2 'et positionner verticalement
            End With
        End If
    Next c
    Exit Sub
errfich:
    fich = imgDefaut
    Resume Next

End Sub

Je l'ai légèrement modifiée pour l'adapter à mon besoin mais je ne sais pas coder en VBA, j'ai simplement retiré quelques lignes en essayant de comprendre la logique donc il reste peut-être des choses inutiles et elle est peut-être à améliorer.

Il me manque cependant la partie qui ajoute un lien hypertexte à l'image insérée à partir du chemin d'accès dans la cellule.

J'ai essayé de manière empirique en m'informant sur internet (je suis par exemple tombé sur la méthode Hyperlinks.Add) mais sans succès à cause de ma non-connaissance du VBA, et c'est pour ça que je sollicite votre aide !

Si quelqu'un pouvait m'écrire ce petit bout de code qui me manque ce serait super !

Merci d'avance.

UP !

Rechercher des sujets similaires à "ajouter lien hypertexte chaque photo"