Bonjour,
Pour modifier l'image d'un contrôle ActiveX situé sur un onglet Excel :
Set ThisWorkbook.Sheets("Feuil1").Shapes("Cert1").OLEFormat.Object.Object.Picture = LoadPicture("C:\Temp\newpicture.jpg")
Si vous ne voulez pas partir d'un fichier image mais plutôt d'une icône que vous auriez importée de puis un pdf :
1 2 3 4 5 6 7 8 9 10 11
| Sub ajoutPdf()
fichier = Application.GetOpenFilename("Fichiers PDF(*.pdf),*.pdf,Fichier .*(*.*),*.*")
With ThisWorkbook.Sheets("Feuil1")
Set Shp = .OLEObjects.Add(Filename:=fichier, Link:=False, Displayasicon:=True, _
IconFileName:="C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe", _
IconIndex:=0, IconLabel:="certificat")
Shp.CopyPicture xlScreen, xlBitmap
Set .Shapes("Cert1").OLEFormat.Object.Object.Picture = PastePicture(xlBitmap)
Shp.Delete
End With
End Sub |
... après avoir récupéré le module modpastepicture de Stephen Bullen et l'avoir intégré à votre fichier (il est disponible ici).
Partager