Récuperer image depuis un commentaire

mromain

XLDnaute Barbatruc
Re : Récuperer image depuis un commentaire

Bonjour
Par contre sa doit rester dans l'userform d'origine

Re bonjour,

Ne maitrisant pas du tout les ListView, je n'arrive pas à l'adapter à ton UserForm. Ce sera difficile de t'aider plus.

Sinon, dans mon code, tu trouvera la première partie : Exporter l'image contenue dans le commentaire d'une cellule dans un fichier jpg.
Ensuite, il reste à adapter le code pour importer cette image jpg dans ta ListView.

Bon courage
A+
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Récuperer image depuis un commentaire

Bonjour,

Voir PJ

-Listview + export des images en commentaires en temps réel fonctionne de façon aléatoire
-Il faut donc d'abord exporter toutes les images en .jpg

http://cjoint.com/?0muozb8CBt

Code:
Sub ExtraitPhotoCmtJPG()
 ' export en JPG des images en commentaire à faire une fois
 ' export dans le répertoire de ce classeur
  répertoire = ThisWorkbook.Path & "\"
  Set f = Sheets("BD")
  For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row)
     c.Offset(, 8).Comment.Visible = True
     H = c.Offset(, 8).Comment.Shape.Height
     L = c.Offset(, 8).Comment.Shape.Width
     c.Offset(, 8).Comment.Shape.CopyPicture
     f.ChartObjects.Add(0, 0, L, H).Chart.Paste
     f.ChartObjects(1).Border.LineStyle = 0
     f.ChartObjects(1).Chart.Export Filename:=répertoire & c.Offset(, -1) & ".jpg", FilterName:="jpg"
     f.ChartObjects(1).Delete
   Next c
End Sub

Code:
Private Sub B_ok_Click()
  If TextBox1 = "" Then Exit Sub
  ListView1.ListItems.Clear
  Me.ImageList1.ListImages.Clear
  Me.ImageList1.ImageHeight = 60
  Me.ImageList1.ImageWidth = 60
  répertoire = ThisWorkbook.Path & "\"
  Set f = Sheets("bd")
  With Sheets("BD").[A1:A65536]
   Set c = .Find(TextBox1, LookIn:=xlValues)
   If Not c Is Nothing Then
     firstAddress = c.Address
     d = 0
     Do
       d = d + 1
       ListView1.ListItems.Add d, , .Cells(c.Row, 1)
       Me.ImageList1.ListImages.Add , "Img" & d, LoadPicture(répertoire & c & ".jpg")
       Set Me.ListView1.SmallIcons = Me.ImageList1
       Me.ListView1.ListItems(d).SmallIcon = "Img" & d
       For col = 1 To 8
         ListView1.ListItems(d).SubItems(col) = .Cells(c.Row, col + 1)
       Next
       Set c = .FindNext(c)
      Loop While Not c Is Nothing And c.Address <> firstAddress
     End If
   End With
End Sub

JB
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 092
Messages
2 085 223
Membres
102 826
dernier inscrit
ag amestan