insertion image avec shape

Le
pumi
Bonjour tous,

J'ai une base de donne 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 dfinie (E1:G11) sans dformer 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 tire sur la plage slectinne et si=
je
passe .LockAspectRatio = msoTrue le rsultat est pire !

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

Michel
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