Insérer des images via une liste déroulante et les redimensionner

la mouette

XLDnaute Nouveau
Bonjour, :)

Tout d'abord voiçi le code :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 
 If Target.Address = "$G$3" Then
   On Error Resume Next
   ActiveSheet.Shapes("monimage").Delete
   rep = ActiveWorkbook.Path
   nomimage = rep & "\" & Target & ".jpg"
   [B7].Select
   ActiveSheet.Pictures.Insert(nomimage).Select
   Selection.Name = "monimage"
   [G3].Select
   On Error GoTo 0
 End If
 
End Sub

Grace à celui-ci je peux appeler plusieurs images en fonction de données présentes dans une liste déroulante située en G3.
Ce que j'essaye de faire c'est que l'image appelée se redimensionne automatiquement dans une plage de cellules genre [B7:G7].

Ca n'as pas l'air bien compliqué de ce que j'ai pu voir sur le net, le problème est que je n'arrive pas à l'implanter à mon code :(

Merci à tous de vos futures réponses, même si personne ne me répond^^.
 

STephane

XLDnaute Occasionnel
Re : Insérer des images via une liste déroulante et les redimensionner

bonjour

pour placer l'image, tu dois utiliser les propriétés top & left de l'image et des cellules.
pour la redimensionner, tu dois utiliser les propriétés width & height de l'image et des cellules.


mais je ne suis pas sûr que cela donne l'effet de redimensionnement escompté.
(cf. aussi l'option "proportionnel" du côté dimensions de l'image)
 

la mouette

XLDnaute Nouveau
Re : Insérer des images via une liste déroulante et les redimensionner

Merci d'avoir répondu si rapidement :p

Je connais déjà les différentes propriétés pour redimensionner une image mais je n'arrive pas à les implanter dans mon code...

Je ne sais pas si j'ai raté un truc mais j'ai essayé :

.Top = Range("B7").Top
.Left = Range("B7").Left
.Height = Range("B7").Height
.Width = Range("B7:G7").Width

Mais pas de redimensionnage à l'horizon.

N'ayant commencé le VB que depuis 2 semaines j'avoue que je suis légèrement perdu là :D
 

bqtr

XLDnaute Accro
Re : Insérer des images via une liste déroulante et les redimensionner

Bonjour la mouette, STephane

Essaye comme ceci :

Code:
'.../...
 Selection.Name = "monimage"
   With ActiveSheet.Shapes("monimage")
         .LockAspectRatio = msoTrue 'msoFalse
         .Top = Range("B7").Top
         .Left = Range("B7").Left
         .Height = Range("B7").Height
         .Width = Range("B7:D7").Width
   End With
'.../...

.LockAspectRatio = msoTrue 'msoFalse te permet de garder les proportions de l'image, si il est à msoFalse l'image ne se redimensionne pas.

A+
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux