Afficher une image selon URL

talk2dam

XLDnaute Nouveau
Bonjour

J'ai un classeur qui contient des url d'image (colonne C)
J'aimerais trouver un moyen d'afficher une miniature de l'image (en colonne D)

J'ai bien cette macro mais elle ne fonctionne que sur une cellule et non pas sur une liste complète.
Code:
Sub picture()
    Dim Pic As picture
    Application.ScreenUpdating = False
    With ActiveSheet.Range("C4")
        Set Pic = .Parent.Pictures.Insert(.Value)
        With .Offset(, 1)
            Pic.Top = .Top
            Pic.Left = .Left
            Pic.Height = .Height
            Pic.Width = .Width
        End With
    End With
    Application.ScreenUpdating = True
End Sub

Autre problème, les dimensions de la miniatures, si elle est plus haute que la ligne, les images vont se chevaucher, est il possible d'inclure une adaptation de la hauteur de la ligne et définir les dimensions de la miniature affichée ?

Merci pr vos conseils
Damien
 

Staple1600

XLDnaute Barbatruc
Re : Afficher une image selon URL

Bonjour à tous

talk2dam
Toutes les réponses(ou presque) sont ici, camarade.
Y clique ,Y lit , Y teste, il est content car il a trouvé inspiration ou solution.

PS1: Il suffit de choisir judicieusement ses mots-clés ;)

PS2: Faire aussi un tout du côté des pages Wiki de MichelXLD , dans la FAQ du forum.
Tu trouveras des exemples relatifs aux images.
 

talk2dam

XLDnaute Nouveau
Re : Afficher une image selon URL

enfin disons que j'ai bien quelque chose mais a chaque fois cela n'impacte qu'une cellule et non une liste d'url.
Je fais du web je ne connais pas grand chose en Vba
pour linstant j'ai ça :
Code:
Sub InsertPicture()
'J Walkenbach, mpep
Dim MyCell As Range
Dim MyPicture As Picture
Dim image$

On Error GoTo fin
  image = Range("a2")
  Set MyCell = Range("b2")
  MyCell.Select
  Set MyPicture = ActiveSheet.Pictures.Insert(image)
  With MyPicture.ShapeRange
    .LockAspectRatio = msoFalse
    .Height = MyCell.Height
    .Width = MyCell.Width
  End With
  MyCell.Select
  
  Range("c2") = MyCell.Height & " x " & MyCell.Width
  
  Exit Sub
  
fin:
MsgBox " Il y a une erreur de saisie dans la cellule A2 . ", vbInformation, "Message "
  
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Afficher une image selon URL

Re

Tu peux faire une boucle à partir du code ton précédent message.
PS: code non testé, écrit à même le message
Code:
Sub InsertPicture()
 'J Walkenbach, mpep
 Dim MyCell As Range
 Dim MyPicture As Picture
 Dim image$, dl&, i&
dl=cells(rows.count,1).end(xlup).row
 On Error GoTo fin
For i=2 to dl
    image = Range("a" & dl)
    Set MyCell = Range("b" & dl)
   MyCell.Select
   Set MyPicture = ActiveSheet.Pictures.Insert(image)
   With MyPicture.ShapeRange
     .LockAspectRatio = msoFalse
     .Height = MyCell.Height
     .Width = MyCell.Width
   End With
   MyCell.Select
   Next i
    'Range("c2") = MyCell.Height & " x " & MyCell.Width
   
   Exit Sub
   
 fin:
 MsgBox " Il y a une erreur de saisie dans la cellule A2 . ", vbInformation, "Message "
   
 End Sub
 

talk2dam

XLDnaute Nouveau
Re : Afficher une image selon URL

J'ai donc testé mais ca plante.
Le code m'affiche la derniere image de liste et mouline pendant un bon moment (normal ya quelques lignes) avant d'afficher le message derreur present dans la macro.
Du coup je n'obtiens qu'une miniature
je te met le fichier au cas ou tu souhaiterais regarder

Merci JM,
 

Pièces jointes

  • julien macro.xlsm
    22.5 KB · Affichages: 44

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa