Selectionner une image qu'on vient d'insérer

Bonjour,

Dans une macro, j'insère des images (.jpg) dans des cellules différentes.

Je détermine la position L (Left) et T (Top).

Je détermine la Hauteur (H) et Largeur (L) de l'image collée

Puis, j'insère avec :

Fichier_Final.Sheets(1).Shapes.AddPicture Fichier.Path, True, True, L, T, W, H

Mais ensuite, j'aimerais créer un lien hypertexte vers l'image stockée sur mon PC.

Ainsi l'utilisateur aura une miniature sur Excel et pourra l'ouvrir à l'exterieur.

Pour créer un lien hypertexte, je n'ai, a priori, pas de souci.

ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:="C:\image.jpg"

Mais comment selectionner l'image que je viens d'inserer pour y mettre mon ancre?

Bonjour Guigol,

Ajouter ces quelques lignes sous ton code initial:

Fichier_Final.Sheets(1).Shapes.AddPicture Fichier.Path, True, True, L, T, W, H
Fich = Fichier.Path
' Recherche du nom de l'image
For C = Len(Fich) to 1 step -1
if Mid(Fich, C, 1)= "\" then Img = Right(Fich, Len(Fich) - C)
Next C
'Lien hypertext associé à l'image
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Shapes(Img), Address:=Fich

Bons tests, bonne continuation.

Bonjour,

Sous VBA, sélectionner n'est pas utile, voire néfaste.

Il est préférable de définir l'objet pour agir dessus :

Edit : Remplacement "C:\image.jpg" par Fichier.Path

Dim shp As Shape
  Set shp = Fichier_Final.Sheets(1).Shapes.AddPicture(Fichier.Path, True, True, L, T, W, H)
  ActiveSheet.Hyperlinks.Add Anchor:=shp, Address:=Fichier.Path

A nouveau,

@Patrice33740,

Relis bien le code fourni qui s'applique à toutes les images insérées.

Comment trouves tu l'adresse de la bonne image?

Tu fournis toujours la même adresse à toutes les images. Et c'est cela qui est néfaste.

Bonjour à tous

A noter qu'il s'agit d'un multipost

Rechercher des sujets similaires à "selectionner image vient inserer"