Microsoft 365 Placer une image localisé sur une sheet, dans un formulaire

Antipode

XLDnaute Nouveau
bonjour à tous,
Je viens vers vous pour un nouveau soucis sur lequel je planche depuis plusieurs heures sans trouver la solution.

J'ai crée un formulaire dans lequel j'affiche une série de données et des photos en fonction des données affichées.
Ces photos, je vais les chercher dans un répertoire sur mon disque dure. jusque là tout va bien....
Par contre sur l'une des sheets de mon application Excel, j'ai importé et inséré une photo qui est donc "interne" à ma spreadsheet.
c'est à dire que je ne vais plus la "charger" de mon disque, elle est intégrée à ma spreadsheet.
J'essaye de l'importer dans mon "Form" (via des instruction VBA) et là, je n'arrive pas à trouver la commande qui fonctionne.
toute les infos glanée à gauche ou à droite, sont toujours basées sur " l'import" de photo dont la source est externe !.. donc via un path genre " c:\img\photo.jpg"
Et là aucun problème..

'importer la photo par ex:
Fiche_Perso.Album.Picture = LoadPicture(design) ' =>"design " contenant le chemin complet du jpg sur mon Disque dure

Mais comment puis-je remplacer l'affectation : LoadPicture(design) par quelque chose qui va me faire pointer vers l'image qui se trouve sur "Feuil1"
c'est l'unique image (donc shape(1) )...

Je ne vois pas comment faire.. :((
merci de votre aide...
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Test OK chez moi
1) Insertion d'un contrôle Image sur la feuille
2) Insertion d'un contrôle Image sur l'Userform
VB:
Private Sub UserForm_Initialize()
Image1.Picture = Sheets(1).Image1.Picture
End Sub
Voila ce que donne mon exemple
Userform.png
 

Antipode

XLDnaute Nouveau
Bonjour

Test OK chez moi
1) Insertion d'un contrôle Image sur la feuille
2) Insertion d'un contrôle Image sur l'Userform

Code de l'userform
VB:
Private Sub UserForm_Initialize()
Image1.Picture = Sheets(1).Image1.Picture
End Sub
salut Staple1600,
Merci pour ton aide,..
cela passe toujours pas chez moi...
la photo ne s'affiche pas et si je lance pas à pas, j'ai un message d'erreur:
"Propriété ou méthode non gérée par cet objet"
peux-tu joindre ton ficher stp avec une simple photo?
:

 

Staple1600

XLDnaute Barbatruc
Re

Il faut insérer un contrôle Image sur la feuille
=>Développeur/Insérer/Image (Contrôle ActiveX)
Dans ce contrôle, il faut insérer un image
(En mode création-> Clic-droit sur le contrôle->Propriétés>Cliquer sur Picture pour choisir l'image

Ensuite sur l'Userform
Insérer un contrôle Image

Puis utilisez le code de mon 1er message.

NB: je ne joins de fichier Excel sur le forum le 22 mai 1968, 15 heures de l'aprés-midi.
;)
 

Staple1600

XLDnaute Barbatruc
Re

Chez moi, ces quatre procédures fonctionnent
VB:
Private Sub Fermer_Click()
'Image1.Picture = Sheets(1).Image1.Picture
End Sub

Private Sub Image1_Click()
Image1.Picture = Sheets(1).Image1.Picture
UserForm1.Repaint
End Sub

Private Sub UserForm_Click()
'Image1.Picture = Sheets(1).Image1.Picture
End Sub

Private Sub UserForm_Initialize()
'Image1.Picture = Sheets(1).Image1.Picture
End Sub
NB: Je dois juste ajouter UserForm1.Repaint pour Image1_Click
 

Staple1600

XLDnaute Barbatruc
Re

Je te laisse faire différents tests
Je vais regarder un peut la TV (pour changer un peu d'Excel ;))
Je repasse plus tard pour voir si tu as réussi.

NB: Je viens de voir où tu fais erreur
La ligne concernant l'image ne doit pas être avec le code du bouton sur la feuille
mais dans le code de l'userform
(comme précisé dans le message#2)
 

Discussions similaires

Statistiques des forums

Discussions
314 756
Messages
2 112 555
Membres
111 597
dernier inscrit
Leplo