Word conserve un peu d’informations sur les images que vous insérez dans vos documents. Ces informations sont nécessaires pour que Word sache comment dimensionner, positionner et afficher des images. Si vous souhaitez en savoir plus sur les images de votre document, vous devez savoir comment Word stocke les informations.

Les images sont stockées sous deux types d’objets graphiques: des formes régulières ou des formes en ligne. Les formes régulières sont celles qui résident sur le calque de dessin, par opposition aux formes en ligne, qui résident dans le calque de texte. Les deux types d’objets sont stockés avec des collections d’objets différentes. Les formes régulières se trouvent dans la collection Shapes et les formes en ligne sont stockées dans la collection InlineShapes. Pour accéder aux informations sur les objets, il vous suffit d’utiliser un peu de VBA.

La macro VBA suivante fonctionnera dans Word 2000 (ou versions ultérieures) pour créer un document qui affiche la taille de tous les objets graphiques d’un document, en points et en pixels:

Sub FigureInfo()

Dim iShapeCount As Integer     Dim iILShapeCount As Integer     Dim DocThis As Document     Dim J As Integer     Dim sTemp As String

Set DocThis = ActiveDocument     Documents.Add

iShapeCount = DocThis.Shapes.Count     If iShapeCount > 0 Then         Selection.TypeText Text:="Regular Shapes"

Selection.TypeParagraph     End If     For J = 1 To iShapeCount         Selection.TypeText Text:=DocThis.Shapes(J).Name         Selection.TypeParagraph         sTemp = "     Height (points): "

sTemp = sTemp & DocThis.Shapes(J).Height         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (points): "

sTemp = sTemp & DocThis.Shapes(J).Width         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Height (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Height, True)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Width, False)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         Selection.TypeParagraph     Next J

iILShapeCount = DocThis.InlineShapes.Count     If iILShapeCount > 0 Then         Selection.TypeText Text:="Inline Shapes"

Selection.TypeParagraph     End If     For J = 1 To iILShapeCount         Selection.TypeText Text:="Shape " & J         Selection.TypeParagraph         sTemp = "     Height (points): "

sTemp = sTemp & DocThis.InlineShapes(J).Height         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (points): "

sTemp = sTemp & DocThis.InlineShapes(J).Width         Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Height (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Height, True)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         sTemp = "     Width (pixels): "

sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Width, False)

Selection.TypeText Text:=sTemp         Selection.TypeParagraph         Selection.TypeParagraph     Next J End Sub

Cette macro ne fonctionne pas dans Word 97 car Word 97 ne reconnaît pas l’instruction PointsToPixels. Si vous supprimez les lignes qui utilisent cette instruction (ou créez votre propre fonction PointsToPixels), la macro fonctionnera très bien sous Word 97.

Notez que la macro renvoie les noms des formes régulières, mais pas les noms des formes en ligne. La raison en est que Word ne conserve pas les noms des formes en ligne. Lorsque vous insérez une forme régulière dans votre document (encore une fois, sur le calque de dessin), Word attribue un nom à la forme, tel que Rectangle 2 ou Ovale 3.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (1497) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:

link: / wordribbon-Determining_Picture_Size_in_a_Macro [Détermination de la taille de l’image dans une macro].