Charger image dans controls image

  • Initiateur de la discussion Initiateur de la discussion WILFRIED
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

WILFRIED

XLDnaute Impliqué
Bonjours,

je voudrait savoir comment faire pour charger une image dans un controls "image" en vba. Particularité : l'image se trouve dans une feuille du classeur. Je connais la fonction picture=loadpicture(chemin\image.gif) car je m'en sers déjà mais comment faire si l'image est dans le fichier.

Merci.

A+
 
Re : Charger image dans controls image

Bonjour


Une solution: tu stockes tes images dans un userform
dont tu modifies les dimensions pour les masquer à l'affichage.

Je recherche dans mes archives un exemple de code et je reviens.


EDITION: Voir la pièce jointe
 

Pièces jointes

Dernière édition:
Re : Charger image dans controls image

bonsoir

une autre solution qui affiche la première image de la Feuil1 dans un UserForm :

Code:
Option Explicit
Private Const Fichier As String = "C:\ImageTemp.gif"
   
Private Sub CommandButton1_Click()
   Dim nb As Byte
   Dim Sh As Shape
   
   'Supprime l'image temportaire si elle existe
   If Dir(Fichier) <> "" Then Kill Fichier
   
    'Définit le 1er shape de la feuille comme image
    ' à afficher dans l'UserForm
    Set Sh = Worksheets("Feuil1").Shapes(1)
    
    'copie le shape dans la feuille
    Sh.CopyPicture
    'crée un graphique
    With ActiveSheet.ChartObjects.Add(0, 0, _
                        Sh.Width, Sh.Height).Chart
        .Paste 'colle l'image dans graphique
        ' enregistre le graphique au format gif
        .Export Fichier, "GIF"
    End With
    
    nb = ActiveSheet.ChartObjects.Count
    'supprime le graphique
    ActiveSheet.ChartObjects(nb).Delete
    'Affiche l'image dans le graphique
    Image1.Picture = LoadPicture(Fichier)
End Sub
 
Private Sub UserForm_Terminate()
   'Supprime l'image temportaire si elle existe
   If Dir(Fichier) <> "" Then Kill Fichier
End Sub



Tu peux également utiliser la méthode PastePicture de Stephen Bullen (fait une recherche dans les archives du forum)


bonne soirée
michel
 
Re : Charger image dans controls image

Salut Wilfried,
si tu utilises des controles Images
ici en feuil2 mon stock d'image ,les images sont rentrées manuellement
(voir propriété Picture)
en vba je traite ainsi si je veux Image4 de feuil2
Feuil1.Image1.Picture = Feuil2.Image4.Picture
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
823
Retour