FAQ Word
FAQ WordConsultez toutes les FAQ
Nombre d'auteurs : 20, nombre de questions : 289, dernière mise à jour : 15 juin 2021
- Comment insérer, redimensionner et positionner une image dans un document Word existant ?
- Comment coller dans Word une sélection de cellules au format image Bitmap ?
- Comment insérer et modifier une image ?
- Comment insérer une image dans l'en-tête de mon document ?
- Quels sont les différents types d'images que l'on peut trouver dans un document ?
- Comment insérer un Gif animé dans un document Word ?
Nécessite d'activer la référence "Microsoft Word xx.x Object Library" :
Dim
WordApp As
Word.Application
Dim
WordDoc As
Word.Document
Dim
Fichier As
String
On
Error
Resume
Next
Set
WordApp =
CreateObject
(
"Word.Application"
)
WordApp.Visible
=
True
Set
WordDoc =
WordApp.Documents.Open
(
"monDocument.doc"
) 'ouvrir le document Word
WordDoc.InlineShapes.AddPicture
Filename:=
_
"C:\Image1.JPG"
'adapter le chemin de l'image à insérer
On
Error
GoTo
0
With
WordDoc.InlineShapes
(
1
) 'adapter l'index si d'autres images existantes dans le document
.Height
=
190
.75
'changement dimension image insérée : hauteur
.Width
=
254
# 'largeur
.ConvertToShape
End
With
With
WordDoc.Shapes
(
1
)
.Top
=
200
'position verticale de l'image dans le document
.Left
=
150
'position horizontale de l'image dans le document
.ZOrder
msoBringInFrontOfText 'image au premier plan devant le texte
'.ZOrder msoSendBehindText 'option pour image en arrière plan derrière le texte
End
With
'WordDoc.Close 'fermer le document Word
'WordApp.Quit 'fermer l'application Word
Nécessite d'activer la référence "Microsoft Word xx.x Object Library" :
Dim
WordApp As
Word.Application
Selection.Copy
Set
WordApp =
CreateObject
(
"Word.Application"
)
On
Error
Resume
Next
WordApp.Documents.Add
WordApp.Visible
=
True
WordApp.Selection.PasteSpecial
DataType:=
wdPasteBitmap
Application.CutCopyMode
=
False
Les images insérées dans le texte sont membres de la collection InlineShapes
Dim
objDoc As
Document, objShape As
InlineShape
Set
objDoc =
Application.Documents.Add
Set
objShape =
Selection.InlineShapes.AddPicture
(
_
FileName:=
"C:\developpez\logo_developpez.gif"
, LinkToFile:=
False
, SaveWithDocument:=
True
)
With
objShape
.LockAspectRatio
=
msoTrue
.Height
=
.Height
*
0
.5
.Width
=
.Width
*
0
.5
End
With
Ce code insère une image est la réduit de moitié
Sub
AjouterImage
(
)
With
ActiveDocument.Sections
(
1
).Headers
(
wdHeaderFooterPrimary)
.Shapes.AddPicture
FileName:=
"c:\temp\licence.jpg"
, LinkToFile:=
False
, SaveWithDocument:=
True
End
With
End
Sub
Pour atteindre l'en-tête ou le pied de page d'un document, il faut atteindre la section du document.
Dans un document Word, on peut retrouver deux types d'images. Ces types d'images sont fonction de la position de l'image par rapport au texte. Si l'image se trouve dans l'alignement du texte, vous avez affaire à une image du type "InlineShape". Les images InlineShape appartiennent à la collection InlineShapes. Si votre image est indépendante du texte, elle se trouve devant, derrière, encadrée, ... votre image est de type Shape et appartient à la collection Shapes.
Le traitement de ces images se déroule de la même manière, cependant, certaines propriétés sont fondamentalement différentes.
Sub
TestTypeImage
(
)
Dim
i As
Integer
If
Not
IsNull
(
ActiveDocument.InlineShapes.Count
) Then
i =
ActiveDocument.InlineShapes.Count
MsgBox
"Votre document comporte "
&
_
i &
vbCrLf
&
" Images de type InlineShape !"
End
If
If
Not
IsNull
(
ActiveDocument.Shapes.Count
) Then
i =
ActiveDocument.Shapes.Count
MsgBox
"Votre document comporte "
&
_
ActiveDocument.Shapes.Count
&
vbCrLf
&
" Images de type Shape !"
End
If
End
Sub
Le code ci-dessus vous permettra de vérifier le type d'images présent dans votre document.
Cette méthode a été testée sous Word 2007
Dans l'onglet développeur, choisir dans le groupe Contrôles le bouton Outils Hérités.
Utilisez le bouton Autres Contrôles et dans la liste, choisissez Microsoft Web Browser.
Vous vous retrouvez avec un affichage comme celui-ci.
Dans le VBE, pour ThisDocument, vous choisissez dans la liste Document
et l'évènement Open
Ajoutez le code suivant :
Private
Sub
Document_Open
(
)
WebBrowser.Navigate
"C:\Documents and Settings\Olivier\Mes documents\Mes images\Gifs\easy.gif"
End
Sub
Pour parfaire l'affichage il reste quelques petites modifications à apporter.
Dans la liste de gauche choisissez WebBrowser1 et dans celle de droite DocumentComplete.
Modifez le code pour qu'il ressemble à ceci :
Private
Sub
WebBrowser1_DocumentComplete
(
ByVal
pDisp As
Object, URL As
Variant
)
'supprime les scrollbars
WebBrowser1.Document.body.scroll
=
"no"
'supprime les traits de profondeur
WebBrowser1.Document.body.Style.BorderStyle
=
"none"
End
Sub
Si vous voulez mettre votre gif derrière le texte.
Basculez en mode création, avec un clic droit, choisissez Format de contrôle.
Et dans habillage, placez le où bon vous semble.
Il ne vous reste qu'à sauvegarder le fichier en *.docm, le fermer et le réouvrir.