Bonjour,
Dans Excel VBA, j'aimerais insérer dans un label ou dans un bouton, une image qui est dans un classeur (l'image est donc interne). J'ai lu plusieurs réponses sur plusieurs forums, mais franchement ils ne sont pas clairs. Les variables ne sont pas déclarées
et on ne sait pas donc de quels types elles sont ni ce qu'elles font. J'ai également essayé de lire les documentations de Microsoft, mais elles manquent aussi de clarté à mon sens.
Par exemple, voici ce que j'ai trouvé:
Dim f
Private Sub UserForm_Initialize()
Set f = Sheets("photos")
For Each s In f.Shapes
Me.ComboBox1.AddItem s.Name
Next
End Sub
Private Sub ComboBox1_Change()
Set s = f.Shapes(CStr(Me.ComboBox1))
s.CopyPicture xlScreen, xlBitmap
With s.Parent.ChartObjects.Add(0, 0, s.Width, s.Height).Chart
While .Shapes.Count = 0
DoEvents
.Paste
Wend
.Export "monimage.jpg", "Jpg"
.Parent.Delete
End With
Me.Image1.PictureSizeMode = fmPictureSizeModeZoom
Me.Image1.Picture = LoadPicture("monimage.jpg")
Kill "monimage.jpg"
End Sub
Quelqu'un peut-il m'expliquer ce code en détail ou en proposer un qui soit plus clair et mieux expliqué?
La partie que je ne comprends pas c'est celle en rouge.
Merci d'avance