Mettre dans un userform une image qui est contenue dans une feuille
3 réponses
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
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" <boisgontier@hotmail.com> a écrit dans le message de news:
1142142968.069519.67790@j33g2000cwa.googlegroups.com...
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
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
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
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
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