Photo sur excel qui s'affiche en chemin d'accès

Fermé
Jalalrid Messages postés 50 Date d'inscription mercredi 16 juillet 2014 Statut Membre Dernière intervention 31 mars 2020 - 24 juil. 2015 à 11:52
 jalalrid - 26 juil. 2015 à 02:31
Bonjour,
il m'a été donné d'avoir la possibilité d'avoir une macro qui intégrait des photos sur excel. C'est génial mais le soucis c'est que lorsque j'envoie le fichier en question à une personne ils ne voient pas les photos mais plutôt les chemins d'accès au photo.
Serait il possible d'y remédier?


A voir également:

2 réponses

m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 361
24 juil. 2015 à 14:47
Bonjour,

On ne connaît pas ta macro et on ne sait pas non plus quel est son usage, car évidemment on n'a pas besoin de macro à la base pour insérer une photo
... mais a priori elle insère non pas la photo mais un lien vers la photo. Et si la personne n'a pas accès à ce lien, elle ne voit pas la photo.

m@rina
0
Jalalrid Messages postés 50 Date d'inscription mercredi 16 juillet 2014 Statut Membre Dernière intervention 31 mars 2020
Modifié par Jalalrid le 24/07/2015 à 16:12
'Option Explicit
Dim image, nomimage As String
Dim a, c, position
Sub Insererimage()
On Error Resume Next
ImportImage
ActiveSheet.Hyperlinks.Add anchor:=Selection.ShapeRange.Item(1), Address:= _
"", SubAddress:="Feuil2!" & position
End Sub

Sub ImportImage()
image = Application.GetOpenFilename("Fichiers Gif ou Jpg ,*.gif;*.jpg")
If image <> False Then
a = Split(image, "\")
nomimage = a(UBound(a))
Set c = Range("B7")
With ActiveSheet
.Shapes(c).Delete
.Pictures.Insert(image).Name = nomimage
.Shapes(nomimage).LockAspectRatio = msoFalse
.Shapes(nomimage).Height = c.Height
.Shapes(nomimage).Width = c.Width
.Shapes(nomimage).Left = c.Left
.Shapes(nomimage).Top = c.Top
.Shapes(nomimage).Select
End With
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
position = Target.Address
End Sub

voici la macro (écrit par un internaute(cspivert)). Le but c'était de pouvoir insérer une photo qui a les mêmes dimensions qu'une cellule. Mais lorsque je l'envoie à un tiers il affiche que les liens.
http://www.cjoint.com/c/EGyollqG6EW lien vers le fichier
0
m@rina Messages postés 21089 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 20 novembre 2024 11 361
25 juil. 2015 à 15:39
Bonjour,

Je ne sais pas trop ce que tu veux faire exactement.

Déjà, dans ta macro tu as un
On error Resume Next
.
Bien pratique dans certain cas, déconseillé tant que la macro n'est pas fini.
Ce code permet de passer au delà des erreurs. Commence par désactiver cette ligne, et tu verras une erreur sur la ligne
.shapes(c).Delete
.

En effet, un objet Shape ne peut pas être défini par une cellule pmuisque ton c c'est la cellule B7. Un objet Shape ne peut être défini que de deux façons : son numéro ou son nom.

En conclusion ta macro fonctionne sauf la suppression de cette image. Mais comme je ne sais de quelle image on parle, difficile d'en dire plus.
En attendant fais un test en désactivant la ligne
.shapes(c).Delete
et tu verras que l'image s'insère correctement

Maintenant ton code ajoute un lien hypertexte sur l'image... Pour quoi faire ? Pour aller où ? ton lien n'est pas bon : il inclut une variable non définie "position".

m@rina
0
Merci pour ces informations. Mais je pense qu'on s'est cependant pas compris. L'image s'insère très bien comme vous le dites. Copier le fichier sur une clé après avoir insérer une image et essayer de l'ouvrir sur une autre machine. dans la case où la photo doit se trouver indique le chemin d'accès de la photo sur ton ancien ordinateur. Par conséquent la photo ne s'affiche pas. Comme solution il faut créer un dossier y mettre la table excel ainsi que les photos pour qu'une autre personne puisse voir les photos sur un poste différent que le mien. C'est cette solution un peu archaïque que j'aimerais éviter.
0