Insérer Image Dans Cellule EXCEL pour Mac

FBplan

XLDnaute Nouveau
Bonjour à tous,
Je travaille sur Mac.
J'essaie désespérément de trouver une solution au problème suivant:
Dans mon tableau, je dispose d'une série de liens hypertexts pointant vers des images (.jpg,.gif ou .png).
Je souhaiterais pouvoir insérer chaque image dans une cellule adjacente à son lien hypertext. Le but étant de disposer d'un outil type "base de données" permettant de faire des tris, tout en affichant une image.

Mes recherches n'ont pas été fructueuses:
- code VBA qui ne marche pas sur toutes les versions Excel pour mac (2008 en l'occurence)
- Access n'existe pas sur Mac
- instruction qui ne fonctionne plus: ActiveSheet.Pictures.Insert
Bref, compliqué...

Merci de votre aide. N'hésitez pas à spécifier une version de Excel de Mac... Est-ce que Excel sur Mac est indiqué pour cet exercice???
Salutations,
FBplan
 

abtony

XLDnaute Impliqué
Re : Insérer Image Dans Cellule EXCEL pour Mac

Bonjour FBplan, et bienvenu,

Excel sur mac est aussi indiqué pour ce que tu veux faire, mais pas avec la version 2008.

La version 2004 oui, et prochainement d'ici fin octobre la version 2011 et la pas de problème.

A +
 

FBplan

XLDnaute Nouveau
Re : Insérer Image Dans Cellule EXCEL pour Mac

Merci de ton soutien Abtony.
Connais-tu une piste pour une Macro qui fonctionne sur Excel 2004?
Je ne suis pas expert en VBA... Je comprends un peu, mais pas programmeur pour autant :(

Imaginons que la colonne B comporte les liens Hypertextes.
Et je souhaite insérer les images correspondantes dans la colonne A.

Merci de ton aide...

FBplan :)
 

FBplan

XLDnaute Nouveau
Re : Insérer Image Dans Cellule EXCEL pour Mac

Merci Abtony,
Ci-joint un fichier Excel (2004) et une photo...
Mais pas l'arborescence qui correspond au lien hypertext...

Merci de ton aide,
FBplan.
 

Pièces jointes

  • afpe_Strong_951-33_sw.jpg
    afpe_Strong_951-33_sw.jpg
    5.4 KB · Affichages: 191
  • Essai_Excel_Picture.xls
    24 KB · Affichages: 233

abtony

XLDnaute Impliqué

FBplan

XLDnaute Nouveau
Re : Insérer Image Dans Cellule EXCEL pour Mac

Merci Abtony,
J'ai essayé de comprendre, mais pas complétement adapté, donc problème...
J'ai repéré qqchose sur un autre site qui semble être plus en phase avec ma problématique.

Mais, évidemment utilise Pictures.Insert et là cela ne fonctionne pas.
Donc j'essaie d'adapter la méthode avec Shapes.AddPicture...
Mais là aussi je coince.

Que penses-tu de la commande suivante:
Sub Affimage()
For Each c In Selection
fich = c.Offset(0, 1).Value
ligne = c.Row
ActiveSheet.Shapes.AddPicture(fich, msoTrue, msoFalse).Select
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.Height = 72 'hauteur de l'image - un tit qcq chose pour qu'elle soient séparée
.Left = 0 'à gauche colonne A (sinon tu calcules avec la largeur de colonne des colonnes
.Top = 75 * (ligne - 1) 'et positionner verticalement
End With
Next c
End Sub

Le but étant de sélectionner des cellules dans une colonne, puis d'ouvrir l'image dans une shape dans la colonne n-1.
Mais la ligne
ActiveSheet.Shapes.AddPicture(fich, msoTrue, msoFalse).Select
ne semble pas convenir à l'éditeur VBA.

Aurais-tu une piste?
Merci par avance de ton aide,
A nouveau!!!

FBplan
 

abtony

XLDnaute Impliqué
Re : Insérer Image Dans Cellule EXCEL pour Mac

Bonjour FBplan, le forum,

je ne sais pas si j'ai tout compris, mais vois si cela te convient.

sans liens hypertexte, a toi de voir.

A+
 

Pièces jointes

  • Workbook2.zip
    29.1 KB · Affichages: 149

FBplan

XLDnaute Nouveau
Re : Insérer Image Dans Cellule EXCEL pour Mac

Merci Abtony...
Pas sur de comprendre tout.
Je double clique sur une des cellules, et une boite de dialogue apparait.... Mais vide...
Dans les erreurs repérées par le l'expression ActiveSheet.Pictures.Insert n'est pas reconnue.

Dans une colonne, j'ai des adresses (liens hypelinks) des images stockées sur le disque du MAC.
Dans une colonne à côté, je souhaiterais faire apparaitre les images dans des cellules attenantes... De sorte que quand je fais des tris ou sélection sur d'autres critères/colonnes, je puisse visionner les images.

J'essaie d'être clair, mais pas évident.
Merci de ta réponse,
A plus,
FBplan.
 

abtony

XLDnaute Impliqué
Re : Insérer Image Dans Cellule EXCEL pour Mac

Bonjour,

ouvre l'editeur VBA, et change le chemin des images sur ton disque dur. et ca fonctionnera mieux.

Quand tu double clic une fenêtre (userform) s'ouvre tu choisi ton image et elle vient se mettre a gauche de la cellule sélectionné et a droite apparait le nom de l'image sans liens hypertexte.

A+

J'ai mis en commentaire le chemin a modifier.
 

FBplan

XLDnaute Nouveau
Re : Insérer Image Dans Cellule EXCEL pour Mac

Le problème est que j'ai 2500 lignes, avec 2500 images à gérer!!!
Donc, je ne me vois pas refaire les chemins image par image...

En fait mon souhait serait de sélectionner les cellules dans la colonne des adresses, et faire tourner la macro pour faire apparaitre les images dans la colonne adjacente...

Arrrghhh!
A plus,
FBplan
 

FBplan

XLDnaute Nouveau
Re : Insérer Image Dans Cellule EXCEL pour Mac

Bonjour à tous,
Je suis aller chercher une fonction sur le site de Jacques Boisgontier... C'est une solution qui me conviendrait bien, mais elle ne fonctionne pas... Cela bug dès la première ligne...
Je travaille sur Mac, Excel 2004.
Merci de votre aide,
FBplan


Function AfficheImage(NomImage, rep)
Application.Volatile
Set adr = Application.Caller
temp = NomImage & "_" & adr.Address
Existe = False
For Each s In adr.Worksheet.Shapes
If s.Name = temp Then Existe = True
Next s
If Not Existe Then
For Each k In adr.Worksheet.Shapes
p = InStr(k.Name, "_")
If Mid(k.Name, p + 1) = adr.Address Then k.Delete
Next k
If Dir(rep & NomImage) = "" Then
AfficheImage = "Inconnu"
Else
Set myShell = CreateObject("Shell.Application")
Set myFolder = myShell.Namespace(rep)
Set myFile = myFolder.Items.Item(NomImage)
Taille = myFolder.GetDetailsOf(myFile, 26)
H = Val(Split(Taille, "x")(1))
L = Val(Split(Taille, "x")(0))
Ech = adr.Height / H
H = H * Ech
L = L * Ech
Set s = adr.Worksheet.Shapes.AddPicture(rep & NomImage, True, True, adr.Left, adr.Top, L, H)
s.Name = NomImage & "_" & adr.Address
AfficheImage = "ok"
End If
End If
End Function
 

Discussions similaires

Réponses
3
Affichages
124

Statistiques des forums

Discussions
299 703
Messages
1 978 594
Membres
206 298
dernier inscrit
yannick451