Bienvenue 

sur les faqs Word & PowerPoint

Une question ? Cliquez ici.

 Un exemple à télécharger ? Cliquez ici.

 

Word 365 : Vous saurez tout !

Auteur sur XinXii

Pour tout connaître sur Word

8,90 €

 

Imaginons un document dans lequel vous avez inséré un bon nombre de photos. Si vous souhaitez leur ajouter à toutes une légende, une macro fera ce travail rapidement.

Je rappelle qu'il existe deux types d'images, celles qui sont alignées sur le texte et celles qui ont un habillage (images flottantes).

Pour les images alignées sur le texte :

 Sub photos()
'macro écrite par m@rina
Dim image As InlineShape
'ajout de l'étiquette "Photographie"
CaptionLabels.Add Name:="Photographie"
For Each image In ActiveDocument.InlineShapes
If image.Type = wdInlineShapePicture Then
image.Select
Selection.InsertCaption Label:="Photographie", Position:=wdCaptionPositionBelow
End If
Next
End Sub

Pour les images avec habillage :

Pour cette macro, on va commencer par compter le nombre d'images et boucler uniquement sur ce nombre. Ne pas utiliser le même type de boucle que dans la macro précédente, sinon risque de boucle infinie !

Sub photos2()
'macro écrite par m@rina
Dim image As Shape
'ajout de l'étiquette "Photographie"
CaptionLabels.Add Name:="Photographie"
For x = 1 To ActiveDocument.Shapes.Count
If ActiveDocument.Shapes(x).Type = msoPicture Then
ActiveDocument.Shapes(x).Select
Selection.InsertCaption Label:="Photographie", Position:=wdCaptionPositionBelow
End If
Next
End Sub

 

Notez que si l'étiquette souhaitée ne fait pas partie des étiquettes existantes soit par défaut, soit parce que vous l'avez déjà utilisée, vous devez l'ajouter avant dans la macro comme je l'ai fait ici pour l'étiquette "Photographie"

CaptionLabels.Add Name:="Photographie"

Sinon, vous aurez une erreur.

 

NB: ces macros vont insérer une légende aux images. Pour ajouter une légende à d'autres types d'objets graphique, il faudra en préciser le type.

Statistiques

Aujourd'hui1586
Hier1383
Cette semaine1586
Ce mois34849
Total depuis 200410770257

30
visiteurs actuellement en ligne