Lier une image à une ligne d'une feuille excel
Résolu
Bonjour,
j'aimerais insérer plusieurs photos sur une feuille excel par exemple la feuille 1 (ça je sais le faire).
Je voudrais lier chacune de ces photos à une ligne particulière dans la feuille 2 de telle sorte que si je clique sur la photo je vais à l'information correspondante dans la feuille 2 à la ligne concernée. Serait il possible de le faire?
Si oui comment? Aussi cela peut il être automatique c'est à dire que si à chaque fois que j'ajoute une photo, et que je clique sur celle ci elle me renvoie à ligne suivante.
Merci d'avance pour votre aide.
j'aimerais insérer plusieurs photos sur une feuille excel par exemple la feuille 1 (ça je sais le faire).
Je voudrais lier chacune de ces photos à une ligne particulière dans la feuille 2 de telle sorte que si je clique sur la photo je vais à l'information correspondante dans la feuille 2 à la ligne concernée. Serait il possible de le faire?
Si oui comment? Aussi cela peut il être automatique c'est à dire que si à chaque fois que j'ajoute une photo, et que je clique sur celle ci elle me renvoie à ligne suivante.
Merci d'avance pour votre aide.
8 réponses
-
Contributeur
-
ContributeurFaire Alt F11 pour accéder a l'éditeur, ensuite sélectionner la feuille qui recevra les images.
Mettre ce code:
Option Explicit Dim Image, nomimage As String Dim a, c Sub ImportImage() Image = Application.GetOpenFilename("Fichiers Gif ou Jpg ,*.gif;*.jpg") If Image <> False Then a = Split(Image, "\") nomimage = a(UBound(a)) Set c = ActiveCell With ActiveSheet .Pictures.Insert(Image).Name = nomimage .Shapes(nomimage).Height = c.Height .Shapes(nomimage).Width = c.Width .Shapes(nomimage).Left = c.Left .Shapes(nomimage).Top = c.Top .Shapes(nomimage).LockAspectRatio = msoTrue End With End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ImportImage End Sub
A chaque double clic sur une cellule une boite de dialogue demandera de choisir une image pour l'insérer sur la cellule sélectionnée.
Ensuite il ne restera qu' a faire un clic droit sur l'image:
Lien Hypertexte
Emplacement dans ce document
Voilà
-
ContributeurIl ne faut pas mettre ce code dans une UserForm!
Sélectionner la feuille concernée en haut à gauche dans l'éditeur
En haut s'affiche General, cliquez sur Worksheet
A droite sélectionner: BeforeDoubleClick et mettre ce code:
Option Explicit Dim Image, nomimage As String Dim a, c, position Sub ImportImage() Image = Application.GetOpenFilename("Fichiers Gif ou Jpg ,*.gif;*.jpg") If Image <> False Then a = Split(Image, "\") nomimage = a(UBound(a)) Set c = ActiveCell With ActiveSheet .Pictures.Insert(Image).Name = nomimage .Shapes(nomimage).Height = c.Height .Shapes(nomimage).Width = c.Width .Shapes(nomimage).Left = c.Left .Shapes(nomimage).Top = c.Top .Shapes(nomimage).LockAspectRatio = msoTrue .Shapes(nomimage).Select End With End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) position = Target.Address ImportImage ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:= _ "", SubAddress:="Feuil2!" & position End Sub
j'ai ajouter le lien hypertexte automatique
-
Contributeur[http://static.commentcamarche.net/www.commentcamarche.net/pictures/QzhrOtPJLUR1p1GprZBfpsJdOJimK0nn3ZLtXCIuk5je1JjCbeJuWMTHIRW0aZJL-capture.png [image:http://st
atic.commentcamarche.net/www.commentcamarche.net/pictures/QzhrOtPJLUR1p1GprZBfpsJdOJimK0nn3ZLtXCIuk5je1JjCbeJuWMTHIRW0aZJL-capture-s-.png|1024px||center]|fancy]
-
Merci. Ce code est super. y a t il la possibilité de remplacer le double clic par un raccourci clavier (ctrl+d) (car j'utilise le double clic pour rentrer les données dans une cellule lors de la saisie) et faire en sorte que même si je ne choisis pas de fichier le code ne se plante pas (ça marque "erreur d'exécution 483" quand je ne choisis pas de fichier)
Merci pour ce coup de main.
-
-
ContributeurJe vois cela demain pour le raccourci.
Pour l'erreur "erreur d'exécution 483" en attendant
Mets ceci:
Sub ImportImage() On Error Resume Next 'ajouter cela Image = Application.GetOpenFilename("Fichiers Gif ou Jpg ,*.gif;*.jpg") If Image <> False Then a = Split(Image, "\") nomimage = a(UBound(a)) Set c = ActiveCell With ActiveSheet .Pictures.Insert(Image).Name = nomimage .Shapes(nomimage).Height = c.Height .Shapes(nomimage).Width = c.Width .Shapes(nomimage).Left = c.Left .Shapes(nomimage).Top = c.Top .Shapes(nomimage).LockAspectRatio = msoTrue .Shapes(nomimage).Select End With End If End Sub
-
ContributeurPour le raccourci clavier changer:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) position = Target.Address ImportImage ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:= _ "", SubAddress:="Feuil2!" & position End Sub
en
Private Sub Insererimage() On Error Resume Next position = Target.Address ImportImage ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:= _ "", SubAddress:="Feuil2!" & position End Sub
Ensuite le raccourci clavier, il va falloir te le faire en consultant ce site.
Tu le mets pour la macro: Insererimage
http://www.info-3000.com/vbvba/raccourciclavier.php
-
ContributeurJ'ai oublié une chose la position de la cellule cliquée:
mettre ceci:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) position = Target.Address End Sub
et changer ceci:
Private Sub Insererimage() On Error Resume Next ImportImage ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:= _ "", SubAddress:="Feuil2!" & position End Sub -
-
@cs_Le PivertMerci pour toutes ces macros mais je m'y perds actuellement.
Serait il possible d'avoir une seule avec toutes les dernières modifications.
Merci pour votre compréhension.
-
-
ContributeurVoila un exemple avec raccourci clavier:
http://www.cjoint.com/c/EGciH7DkMkQ-
-
ContributeurVoici un exemple:
http://dj.joss.free.fr/index.htm
et pour chaque question particulière, il y a Google -
@cs_Le PivertMerci.
J'ai copié le code dans une nouvelle feuille de calcul. Mais le raccourci ne fonctionne pas sur cette nouvelle feuille. Pourrais je savoir comment je m'y prends pour insérer ce raccourci sur ma nouvelle feuille de calcul?
-
-
Contributeur
-
J'ai saisi le code suivant pour réaliser un formulaire et le problème que j'ai c'est qu'il n'affiche pas les valeurs correctes dans les colonnes que je voudrais. Voici le lien vers cette feuille de calcul: http://www.cjoint.com/c/EGiiXVIcnlT
Pourriez vous m'aider avec ce code pour finaliser mon fichier? Serait il possible aussi d'ajouter la colonne B qui doit comporter les images à ce formulaire afin que le choix de l'image à insérer se fasse directement à partir de ce formulaire?
Merci d'avance.
-