[VBA] [WRD 2002] Dimensions de l'image de fond

Le
Demokos
Bonjour à toutes et à tous,

Je vous expose mon problème.

J'insère une image de fond avec Insertion -> Image -> A partir d'un
fichier pour en faire une image de fond (c'est le scan d'un papier à
en-tête).

La mise en page est définie avec des marges de 0,80 cm en haut, en bas,
à droite et à gauche et le format est en A4.

Je sais comment faire pour insérer l'image en VBA, pour faire en sorte
pour que l'habillage (clic droit sur l'image -> Propriétés -> Tab
Habillage) soit derrière le texte.

Par contre je ne sais pas comment préciser que l'alignement horizontal
doit être centré. Je souhaiterais donc le savoir.

Je souhaite pouvoir faire en sorte, en VBA, que l'image de fond (il n'y
a aucune autre image dans le document) couvre tout l'espace disponible,
soit 28,10 cm en hauteur (29,7 cms - 1,6 cms) et 19,40 cms en largeur
(21 cms - 1,6 cms).

Là aussi je souhaiterais savoir comment faire, sachant que pour ce
faire, il faut que l'image ne soit pas proportionnelle à l'image
d'origine et qu'elle ne doit pas garder le même rapport hauteur/largeur
(clic droit sur l'image -> Propriétés -> Tab Taille).

Par avance merci pour vos réponses.
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
Demokos
Le #20318031
Y a-t-il quelqu'un(e) qui puisse me répondre, SVP ?
Merci

Demokos a écrit :
Bonjour à toutes et à tous,

Je vous expose mon problème.

J'insère une image de fond avec Insertion -> Image -> A partir d'un
fichier pour en faire une image de fond (c'est le scan d'un papier à
en-tête).

La mise en page est définie avec des marges de 0,80 cm en haut, en bas,
à droite et à gauche et le format est en A4.

Je sais comment faire pour insérer l'image en VBA, pour faire en sorte
pour que l'habillage (clic droit sur l'image -> Propriétés -> Tab
Habillage) soit derrière le texte.

Par contre je ne sais pas comment préciser que l'alignement horizontal
doit être centré. Je souhaiterais donc le savoir.

Je souhaite pouvoir faire en sorte, en VBA, que l'image de fond (il n'y
a aucune autre image dans le document) couvre tout l'espace disponible,
soit 28,10 cm en hauteur (29,7 cms - 1,6 cms) et 19,40 cms en largeur
(21 cms - 1,6 cms).

Là aussi je souhaiterais savoir comment faire, sachant que pour ce
faire, il faut que l'image ne soit pas proportionnelle à l'image
d'origine et qu'elle ne doit pas garder le même rapport hauteur/largeur
(clic droit sur l'image -> Propriétés -> Tab Taille).

Par avance merci pour vos réponses.


Geo
Le #20319421
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Il ne faut pas être pressé comme ça, nous avons tous nos occupations.
La gestion d'image en VBA est rarement simple, en particulier parce
qu'il y en a deux types, les shapes et les inlineshapes et que chaque
type a ses propriétés et méthodes.
Il arrive même qu'on transforme l'image dans un autre type pour
bénéficier des propriétés et qu'on revienne ensuite au type d'origine.
Ce qui veut dire aussi qu'on ne peut vous répondre qu'après avoir
vérifié soigneusement soi-même.
Donc une question pour être certain de votre point de départ : vous
faites et vous ferez toujours l'insertion d'image à la main?

--
A+
Sans Retour
Le #20319771
Personnellement je créerais un document vide avec un en-tête dans lequel
j'insère l'image choisie en la dimensionnant comme je le souhaite. Je
ferme l'en-tête et la totalité de la page est disponible à l'écriture à
l'égal d'une feuille vierge.

Le 07/10/2009 19:41, Demokos a écrit :
Bonjour à toutes et à tous,

Je vous expose mon problème.

J'insère une image de fond avec Insertion -> Image -> A partir d'un
fichier pour en faire une image de fond (c'est le scan d'un papier à
en-tête).

La mise en page est définie avec des marges de 0,80 cm en haut, en bas,
à droite et à gauche et le format est en A4.

Je sais comment faire pour insérer l'image en VBA, pour faire en sorte
pour que l'habillage (clic droit sur l'image -> Propriétés -> Tab
Habillage) soit derrière le texte.

Par contre je ne sais pas comment préciser que l'alignement horizontal
doit être centré. Je souhaiterais donc le savoir.

Je souhaite pouvoir faire en sorte, en VBA, que l'image de fond (il n'y
a aucune autre image dans le document) couvre tout l'espace disponible,
soit 28,10 cm en hauteur (29,7 cms - 1,6 cms) et 19,40 cms en largeur
(21 cms - 1,6 cms).

Là aussi je souhaiterais savoir comment faire, sachant que pour ce
faire, il faut que l'image ne soit pas proportionnelle à l'image
d'origine et qu'elle ne doit pas garder le même rapport hauteur/largeur
(clic droit sur l'image -> Propriétés -> Tab Taille).

Par avance merci pour vos réponses.


Geo
Le #20319761
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Pas de réaction ?

Voici un exemple testé :
Sub TrImage()
Dim MonImageILS As InlineShape
Dim MonImage As Shape
Set MonImageILS = Selection.InlineShapes.AddPicture(FileName:="x.jpg",
_
LinkToFile:úlse, SaveWithDocument:=True)
Set MonImage = MonImageILS.ConvertToShape

With MonImage
.LockAspectRatio = msoFalse
' Taille
.Height = CentimetersToPoints(28.1)
.Width = CentimetersToPoints(19.4)
'Position à gauche :
.RelativeHorizontalPosition =
wdRelativeHorizontalPositionLeftMarginArea
.Left = CentimetersToPoints(0.8)
'Position en haut
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = CentimetersToPoints(0.8)
End With
End Sub

--
A+
Demokos
Le #20323581
>


> Il ne faut pas être pressé comme ça, nous avons tous nos occupations.
>

Bien sûr, mais vu la qualité des intervenants à ce forum (ce n'est pas
de la brosse à reluire...), je pensais juste avoir une réponse plus tôt.

Merci Geo pour ce code, il me donne la solution à mon problème.
J'avoue que je ne l'avais pas dit, mais le but est de pouvoir, avec un
champ formulaire de type liste déroulante, de changer le papier à
en-tête de fond de page en fonction de la société choisie par l'utilisateur.
Lorsque j'aurais finalisé mon code, je le publierai.
Je pense le finir demain ou après demain.

Geo a écrit :
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Pas de réaction ?

Voici un exemple testé :
Sub TrImage()
Dim MonImageILS As InlineShape
Dim MonImage As Shape
Set MonImageILS = Selection.InlineShapes.AddPicture(FileName:="x.jpg", _
LinkToFile:úlse, SaveWithDocument:=True)
Set MonImage = MonImageILS.ConvertToShape

With MonImage
.LockAspectRatio = msoFalse
' Taille
.Height = CentimetersToPoints(28.1)
.Width = CentimetersToPoints(19.4)
'Position à gauche :
.RelativeHorizontalPosition = wdRelativeHorizontalPositionLeftMarginArea
.Left = CentimetersToPoints(0.8)
'Position en haut
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = CentimetersToPoints(0.8)
End With
End Sub



Demokos
Le #20323841
Merci pour ta réponse, Sans Retour, mais le but est de changer d'image
de fond en fonction de l'entrée choisie par l'utilisateur dans un champ
de type liste déroulante (c'est vrai que je ne l'avais pas indiqué dans
mon message...) Je ne souhaite pas utiliser un seul papier à en tête. Et
il faut aussi que celui-ci ne soit pas tronqué à l'impression (pas de
message du style "voulez-vous imprimer hors des marges"...). Je savais
que l'on pouvait insérer une image dans l'en-tête mais ça ma parait
moins pratique que de la placer en fond de page, au moins pour ce que je
veux faire.

Sans Retour a écrit :
Personnellement je créerais un document vide avec un en-tête dans lequel
j'insère l'image choisie en la dimensionnant comme je le souhaite. Je
ferme l'en-tête et la totalité de la page est disponible à l'écriture à
l'égal d'une feuille vierge.

Le 07/10/2009 19:41, Demokos a écrit :
Bonjour à toutes et à tous,

Je vous expose mon problème.

J'insère une image de fond avec Insertion -> Image -> A partir d'un
fichier pour en faire une image de fond (c'est le scan d'un papier à
en-tête).

La mise en page est définie avec des marges de 0,80 cm en haut, en bas,
à droite et à gauche et le format est en A4.

Je sais comment faire pour insérer l'image en VBA, pour faire en sorte
pour que l'habillage (clic droit sur l'image -> Propriétés -> Tab
Habillage) soit derrière le texte.

Par contre je ne sais pas comment préciser que l'alignement horizontal
doit être centré. Je souhaiterais donc le savoir.

Je souhaite pouvoir faire en sorte, en VBA, que l'image de fond (il n'y
a aucune autre image dans le document) couvre tout l'espace disponible,
soit 28,10 cm en hauteur (29,7 cms - 1,6 cms) et 19,40 cms en largeur
(21 cms - 1,6 cms).

Là aussi je souhaiterais savoir comment faire, sachant que pour ce
faire, il faut que l'image ne soit pas proportionnelle à l'image
d'origine et qu'elle ne doit pas garder le même rapport hauteur/largeur
(clic droit sur l'image -> Propriétés -> Tab Taille).

Par avance merci pour vos réponses.




Geo
Le #20324131
Bonjour

le but est de pouvoir, avec un champ formulaire
de type liste déroulante, de changer le papier à en-tête de fond de page en fonction de
la société choisie par l'utilisateur.



Vaste débat.
Vu le prix de l'encre couleur ne vaut-il pas mieux avoir une imprimante
multi bacs avec différents papiers à en-tête.
D'accord s'il y a une vingtaine de sociétés ce n'est pas évident.
Une autre solution serait de changer de modèle et de mettre logos et
textes sur ces modèles.

--
A+
Demokos
Le #20324421
Encore une précision : c'est pour pouvoir envoyer des télécopies, donc
la couleur... Pour les courriers, on utilise les vrais papiers à
en-tête. Pour ce qui est du matériel, imprimante avec un seul bac (plus
le feuille à feuille), lazer monochrome. Morceaux choisis :

MOI - Une imprimante multi-bacs ?
THE BOSS - Trop cher !!!
MOI - Une lazer couleur ?
THE BOSS - On n'est pas là pour imprimer des photos.
MOI - Une lazer couleur multi-bacs ?
THE BOSSE - Mais vous vouslez couler la boite !!!

Le nombre de sociétés gérées ? 5 pour le moment et bientôt 6.

Geo a écrit :
Bonjour

le but est de pouvoir, avec un champ formulaire de type liste
déroulante, de changer le papier à en-tête de fond de page en fonction
de la société choisie par l'utilisateur.



Vaste débat.
Vu le prix de l'encre couleur ne vaut-il pas mieux avoir une imprimante
multi bacs avec différents papiers à en-tête.
D'accord s'il y a une vingtaine de sociétés ce n'est pas évident.
Une autre solution serait de changer de modèle et de mettre logos et
textes sur ces modèles.



Geo
Le #20324621
Bonsoir

Encore une précision : c'est pour pouvoir envoyer des télécopies,



Précision utile en effet.

[...]

MOI - Une lazer couleur ?
THE BOSS - On n'est pas là pour imprimer des photos.



Pour imprimer des photos il faut une imprimante à jet d'encre, les
lasers sont nulles dans ce domaine.

--
A+
Publicité
Poster une réponse
Anonyme