Piloter excel avec VB6 - insérer image

Résolu
dokoeur Messages postés 4 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 17 mai 2006 - 27 sept. 2005 à 23:29
dokoeur Messages postés 4 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 17 mai 2006 - 28 sept. 2005 à 14:23
Bonjour,
j'ai un petit souci. Je voudrai insérer une image dans une feuille excel a partir de Vb. J'ai trouvé des codes pour le faire, cependant aucun d'entre eux ne me donner la possibilite de modifier les attribues de l'image (redimmensionner, deplacer...). Si quelqu'un pouvais m'aider... Merci d'avance !

2 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
28 sept. 2005 à 00:46
Salut, c'est un peu barbare comme code je l'ai fait vite fait (tester chez moi sa marche) mais les dernières lignes ou je ferme l'appli je suis moins sur je viens de les rajouter sans tester.
Donc dans l'exemple pour vb je suis partis d'un fichier excel classeur1.xls vide par défaut lorsqu'on ouvre un nouveau classeur.
Tu adapteras selon tes besoins

Voila en gros quelques possibilités de manipulations des attributs d'une image. mais tu trouveras plus d'aide dans l'aide vba dans excel...

Dim w As New Workbook

Set w = Workbooks.Open("c:\classeur1.xls")

'selectionne la premier feuille et insert et selectionne l'image
w.Sheets(1).Pictures.Insert("c:\mes images\MonImage01.jpg").Select

'redimensionne l'image (2 c le ratio met 2 pour doubler, 0.5 pour diminuer la taille de ton image)
Selection.ShapeRange.ScaleWidth 2 , msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 2, msoFalse, msoScaleFromTopLeft

'je change la luminosité et le contrast (exemple)
'valeur de 0 à 1
Selection.ShapeRange.PictureFormat.Brightness = 0.63
Selection.ShapeRange.PictureFormat.Contrast = 0.24

'je déplace mon image (les valeurs sont en pixel)
Selection.ShapeRange.IncrementLeft 154.5
Selection.ShapeRange.IncrementTop 120.75

'je rogne mon image à gauche et en bas
'14,17 = 0.5 cm (à toi de faire les conversions je ne les ais plus en tete)
'0# = aucun rognage
Selection.ShapeRange.PictureFormat.CropLeft = 14.17
Selection.ShapeRange.PictureFormat.CropRight = 0#
Selection.ShapeRange.PictureFormat.CropTop = 0#
Selection.ShapeRange.PictureFormat.CropBottom = 14.17

w.Sheets.Application.SaveWorkspace
w.Close (True)


Si la réponse te conviens merci de l'accepter
3
dokoeur Messages postés 4 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 17 mai 2006
28 sept. 2005 à 14:23
Niquouel chrome, je te remerci pour ton code. Je l'ai failement adapté pour mon appli. Ca faisait quelques jours que je cherchais une solution. Je te remerci.
0
Rejoignez-nous