Contrôle d'image VBA
Résolu/Fermé
A voir également:
- Activesheet.oleobjects.add
- Image iso - Guide
- Controle parental pc - Guide
- Acronis true image - Télécharger - Sauvegarde
- Image iso windows 10 - Guide
- Faststone image viewer - Télécharger - Visionnage & Diaporama
2 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
14 juin 2016 à 16:17
14 juin 2016 à 16:17
Bonjour,
comme ceci
comme ceci
Sub AddImageControl() Dim btn As OLEObject Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _ DisplayAsIcon:=False, Left:=514.5, Top:=101.25, Width:=311.25, Height _ :=212.25) With btn .Object.Picture = LoadPicture("C:\chemin fichier image.jpg") 'chemin de l'image a adapter .Object.PictureSizeMode = fmPictureSizeModeZoom 'a adapter .Object.BorderColor = RGB(255, 0, 0) 'rouge a adapter .Object.BackColor = RGB(0, 128, 64) 'vert a adapter End With End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
14 juin 2016 à 16:51
14 juin 2016 à 16:51
btn est une variable, tu mets ce que tu veux.
Il faut savoir que ce code crée à chaque fois un contrôle image. Donc si tu veux mettre une image différente, il faut supprimer le contrôle. voici le code:
l'image en jpg est déjà une image compressée!
Il faut savoir que ce code crée à chaque fois un contrôle image. Donc si tu veux mettre une image différente, il faut supprimer le contrôle. voici le code:
Option Explicit Dim chemin Private Sub CommandButton1_Click() chemin = Application _ .GetOpenFilename("Images Files (*.jpg), *.jpg") If chemin <> False Then EffaceImages AddImageControl End If End Sub Sub AddImageControl() Dim btn As OLEObject Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _ DisplayAsIcon:=False, Left:=514.5, Top:=101.25, Width:=311.25, Height _ :=212.25) With btn .Object.Picture = LoadPicture(chemin) 'chemin de l'image .Object.PictureSizeMode = fmPictureSizeModeZoom .Object.BorderColor = RGB(255, 0, 0) 'rouge .Object.BackColor = RGB(0, 128, 64) 'vert End With End Sub Sub EffaceImages() Dim x As Shape For Each x In ActiveSheet.Shapes x.Delete Next x End Sub
l'image en jpg est déjà une image compressée!
14 juin 2016 à 16:30
Pour ma gouverne, que signifie "btn"? c'est juste le nom que tu donne à ce que tu créer?
Et j'aurais 2 dernières requêtes, est-ce possible que lorsque se lance la macro, une boite de dialogue s'ouvre pour pouvoir choisir l'image? pck je compte changer d'image à chaque fois...
Et enfin, peut-on compresser l'image dès son insertion grâce à la macro?
Sinon encore merci, c'est vraiment cool!