Charger image dans controls image

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+
 

vbacrumble

XLDnaute Accro
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

  • WILFRIED100309.xls
    30 KB · Affichages: 72
Dernière édition:

MichelXld

XLDnaute Barbatruc
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
 

youky(BJ)

XLDnaute Barbatruc
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
 

Discussions similaires

Réponses
1
Affichages
322
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 380
Messages
2 087 814
Membres
103 666
dernier inscrit
gjoanou