OVH Cloud OVH Cloud

Mettre dans un userform une image qui est contenue dans une feuille

3 réponses
Avatar
ManBas
Bonsoir à tous,
Grace à JB en particulier j'ai avancé dans mes solutions pour mettre et
changer les images dans mes feuilles et userforms, à partir d'une image
présente dans le répertoire.
Maintenant je souhaiterais mettre dans le uf1 l'image1 contenue dans la
Feuil1. Celà semble beaucoup plus difficile !!!
Sur ce sujet le classeur 1367 de Michel Pierron est très beau, mais le code
est beaucoup trop compliqué pour moi.
Existe-t-il une solution plus simple, ou dois-je renoncer?
Merci de vos suggestions.

3 réponses

Avatar
JB
Bonjour,


http://cjoint.com/?dmg1UrdRec


Private Sub UserForm_Initialize()
ChDir ActiveWorkbook.Path
Set i = Sheets("feuil2").Shapes("monimage")
i.CopyPicture
ActiveSheet.ChartObjects.Add(0, 0, i.Width, i.Height).Chart.Paste
ActiveSheet.ChartObjects(1).Chart.export Filename:="monimage.jpg",
FilterName:="jpg"
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete
Me.Image1.Picture = LoadPicture("monimage.jpg")
End Sub

Cordialement JB
Avatar
ManBas
Bonjour JB,
Tu confirmes ce que j'avais constaté: la méthode simple utilise
l'exportation vers le répertoire de l'image contenue dans la feuille, pour
la visualiser ensuite dans le uf.
J'aurais souhaité éviter l'étape de l'exportation, mais si la simplicité est
à ce prix je vais retravailler sur mon truc.
Merci beaucoup.
A bientôt

"JB" a écrit dans le message de news:

Bonjour,


http://cjoint.com/?dmg1UrdRec


Private Sub UserForm_Initialize()
ChDir ActiveWorkbook.Path
Set i = Sheets("feuil2").Shapes("monimage")
i.CopyPicture
ActiveSheet.ChartObjects.Add(0, 0, i.Width, i.Height).Chart.Paste
ActiveSheet.ChartObjects(1).Chart.export Filename:="monimage.jpg",
FilterName:="jpg"
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete
Me.Image1.Picture = LoadPicture("monimage.jpg")
End Sub

Cordialement JB



Avatar
JB
Version avec plusieurs photos et choix dans un menu déroulant

http://cjoint.com/?dmjWKUEnkZ

Private Sub B_Form2_Click()
UserForm1.Show
End Sub

Private Sub choix_nom_Change()
Me.Nom = Me.choix_nom
Me.Tph = Cells(Me.choix_nom.ListIndex + 2, 3)
photo = Cells(Me.choix_nom.ListIndex + 2, 2)
Set i = Sheets("Photos").Shapes(photo)
i.CopyPicture
ActiveSheet.ChartObjects.Add(0, 0, i.Width, i.Height).Chart.Paste
ActiveSheet.ChartObjects(1).Chart.Export Filename:="monimage.jpg",
FilterName:="jpg"
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete
Me.monimage.Picture = LoadPicture("monimage.jpg")
End Sub

Private Sub UserForm_Initialize()
Range("A2").Select ' Documente le menu déroulant
Do While ActiveCell <> ""
Me.choix_nom.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Loop
End Sub

JB