FAQ Word

FAQ WordConsultez toutes les FAQ
Nombre d'auteurs : 20, nombre de questions : 289, dernière mise à jour : 15 juin 2021
Sommaire→Images et Dessins→Images et Dessins VBA- 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 WordNé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 = FalseLes 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 WithCe 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 SubPour 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 SubLe 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.












