insertion image avec shape

Le
pumi
Bonjour à tous,

J'ai une base de donnée sur une feuille excel et j'ai créé un
formulaire d'impression sur une autre.
Je cherche à imprimer une image sur mon formulaire d'impression sur
une plage définie (E1:G11) sans déformer l'image d'origine (conserver
le ratio).

J'ai essayé le code suivant :
Set myshape = ActiveSheet.Shapes.AddPicture(chemin, msoFalse,
msoCTrue, 0, 0, 0, 0)
With myshape
.LockAspectRatio = msoFalse
.Top = Range("e1").Top
.Left = Range("e1").Left
.Height = Range("e1:e11").Height
.Width = Range("e1:g1").Width

ça marche mais mon image est étirée sur la plage sélectinnée et si=
je
passe .LockAspectRatio = msoTrue le résultat est pire !

Je suis preneur de tout vos conseils et merci d'avance.

Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5241731
Bonjou,

repertoire = ThisWorkbook.Path & ""
[E1].Select
Set monimage = ActiveSheet.Pictures.Insert(repertoire &
"bouchez.jpg")
r = ActiveCell.Height / monimage.Height
monimage.Height = ActiveCell.Height
monimage.Width = monimage.Width * r

JB
http://boisgontierjacques.free.fr


On 22 fév, 08:27, pumi
Bonjour à tous,

J'ai une base de donnée sur une feuille excel et j'ai créé un
formulaire d'impression sur une autre.
Je cherche à imprimer une image sur mon formulaire d'impression sur
une plage définie (E1:G11) sans déformer l'image d'origine (conserver
le ratio).

J'ai essayé le code suivant :
Set myshape = ActiveSheet.Shapes.AddPicture(chemin, msoFalse,
msoCTrue, 0, 0, 0, 0)
With myshape
.LockAspectRatio = msoFalse
.Top = Range("e1").Top
.Left = Range("e1").Left
.Height = Range("e1:e11").Height
.Width = Range("e1:g1").Width

ça marche mais mon image est étirée sur la plage sélectinnée et si je
passe .LockAspectRatio = msoTrue le résultat est pire !

Je suis preneur de tout vos conseils et merci d'avance.

Michel


pumi
Le #5241551
Merci pour la réponse, ça marche nickel. Je rajoute simplement une
condition sur le rapport hauteur/largeur de l'image pour l'ajuster au
mieux

Michel


On 22 fév, 09:16, JB
Bonjou,

  repertoire = ThisWorkbook.Path & ""
  [E1].Select
  Set monimage = ActiveSheet.Pictures.Insert(repertoire &
"bouchez.jpg")
  r = ActiveCell.Height / monimage.Height
  monimage.Height = ActiveCell.Height
  monimage.Width = monimage.Width * r

JBhttp://boisgontierjacques.free.fr

On 22 fév, 08:27, pumi


Bonjour à tous,

J'ai une base de donnée sur une feuille excel et j'ai créé un
formulaire d'impression sur une autre.
Je cherche à imprimer une image sur mon formulaire d'impression sur
une plage définie (E1:G11) sans déformer l'image d'origine (conserve r
le ratio).

J'ai essayé le code suivant :
Set myshape = ActiveSheet.Shapes.AddPicture(chemin, msoFalse,
msoCTrue, 0, 0, 0, 0)
With myshape
.LockAspectRatio = msoFalse
.Top = Range("e1").Top
.Left = Range("e1").Left
.Height = Range("e1:e11").Height
.Width = Range("e1:g1").Width

ça marche mais mon image est étirée sur la plage sélectinnée e t si je
passe .LockAspectRatio = msoTrue le résultat est pire !

Je suis preneur de tout vos conseils et merci d'avance.

Michel- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Publicité
Poster une réponse
Anonyme