Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

insertion image avec shape

2 réponses
Avatar
pumi
Bonjour =E0 tous,

J'ai une base de donn=E9e sur une feuille excel et j'ai cr=E9=E9 un
formulaire d'impression sur une autre.
Je cherche =E0 imprimer une image sur mon formulaire d'impression sur
une plage d=E9finie (E1:G11) sans d=E9former l'image d'origine (conserver
le ratio).

J'ai essay=E9 le code suivant :
Set myshape =3D ActiveSheet.Shapes.AddPicture(chemin, msoFalse,
msoCTrue, 0, 0, 0, 0)
With myshape
=2ELockAspectRatio =3D msoFalse
=2ETop =3D Range("e1").Top
=2ELeft =3D Range("e1").Left
=2EHeight =3D Range("e1:e11").Height
=2EWidth =3D Range("e1:g1").Width

=E7a marche mais mon image est =E9tir=E9e sur la plage s=E9lectinn=E9e et si=
je
passe .LockAspectRatio =3D msoTrue le r=E9sultat est pire !

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

Michel

2 réponses

Avatar
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

JB
http://boisgontierjacques.free.fr


On 22 fév, 08:27, pumi wrote:
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


Avatar
pumi
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 wrote:
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 wrote:



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 -