Macro redimensionner photos
Yoic
Messages postés
4
Statut
Membre
-
C-Claire Messages postés 4562 Statut Membre -
C-Claire Messages postés 4562 Statut Membre -
Bonjour,
Je souhaiterais un peu d'aide pour créer une macro afin de redimensionner des photos intégrés dans un document word.
Sachant qu'il y a des photos au format portrait et paysage, je voudrait pouvoir les réduire à 40% en gardant les proportions identiques.
Merci d'avance de votre aide.
Loic
Je souhaiterais un peu d'aide pour créer une macro afin de redimensionner des photos intégrés dans un document word.
Sachant qu'il y a des photos au format portrait et paysage, je voudrait pouvoir les réduire à 40% en gardant les proportions identiques.
Merci d'avance de votre aide.
Loic
A voir également:
- Macro redimensionner photos
- Partager des photos - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Toutes mes photos - Guide
- Google photos - Télécharger - Albums photo
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
Bonjour,
si tes photos sont alignées sur le texte, tu peux utiliser la macro suivante :
Sub modifier_taille_image()
R = InputBox("Indiquez le pourcentage de réduction voulu :")
For I = 1 To ActiveDocument.InlineShapes.Count
ActiveDocument.InlineShapes(I).ScaleHeight = R
ActiveDocument.InlineShapes(I).ScaleWidth = R
Next
End Sub
si tes photos sont alignées sur le texte, tu peux utiliser la macro suivante :
Sub modifier_taille_image()
R = InputBox("Indiquez le pourcentage de réduction voulu :")
For I = 1 To ActiveDocument.InlineShapes.Count
ActiveDocument.InlineShapes(I).ScaleHeight = R
ActiveDocument.InlineShapes(I).ScaleWidth = R
Next
End Sub
Merci. Ça fonctionne nikel.
Juste une petite subtilité.
Comment fait on pour que la macro ne redimensionne que les images sélectionnés et pas toutes les images contenues dans le document ?
J'ai des logos au format jpeg également présent dans le document que je ne souhaite pas redimensionner.
Juste une petite subtilité.
Comment fait on pour que la macro ne redimensionne que les images sélectionnés et pas toutes les images contenues dans le document ?
J'ai des logos au format jpeg également présent dans le document que je ne souhaite pas redimensionner.
Bonsoir,
Tu dis "les images sélectionnées"... Si tes images n'ont pas d'habillage, tu ne pourras en sélectionner qu'une seule à la fois, me semble-t-il. Es tu certain que tes images n'ont jamais d'habillage ?
Dans Word, et donc dans le VBA de Word, on distingue les images avec et sans habillage. Les images sans habillage sont des images alignées sur le texte, ce sont des InlineShapes, celles avec habillage sont des Shapes.
Elles ne se traitent pas de la même manière.
m@rina
Tu dis "les images sélectionnées"... Si tes images n'ont pas d'habillage, tu ne pourras en sélectionner qu'une seule à la fois, me semble-t-il. Es tu certain que tes images n'ont jamais d'habillage ?
Dans Word, et donc dans le VBA de Word, on distingue les images avec et sans habillage. Les images sans habillage sont des images alignées sur le texte, ce sont des InlineShapes, celles avec habillage sont des Shapes.
Elles ne se traitent pas de la même manière.
m@rina
Je rebondis sur la réponse de m@rina à propos des images alignées sur le texte ou non.
Voici une petite macro qui te permettra déjà de savoir combien tu as d'images "InlineShapes" et combien "Shapes".
Tu peux juste l'exécuter sans l'enregistrer le temps de voir le résultat.
Sub Quel_Type_Image()
Dim i As Integer
If Not IsNull(ActiveDocument.InlineShapes.Count) Then
i = ActiveDocument.InlineShapes.Count
MsgBox "Il y a " & i & " images alignées sur le texte (InlineShapes)."
End If
If Not IsNull(ActiveDocument.Shapes.Count) Then
i = ActiveDocument.Shapes.Count
MsgBox "Il y a " & ActiveDocument.Shapes.Count & " images habillées (Shapes)."
End If
End Sub
Voici une petite macro qui te permettra déjà de savoir combien tu as d'images "InlineShapes" et combien "Shapes".
Tu peux juste l'exécuter sans l'enregistrer le temps de voir le résultat.
Sub Quel_Type_Image()
Dim i As Integer
If Not IsNull(ActiveDocument.InlineShapes.Count) Then
i = ActiveDocument.InlineShapes.Count
MsgBox "Il y a " & i & " images alignées sur le texte (InlineShapes)."
End If
If Not IsNull(ActiveDocument.Shapes.Count) Then
i = ActiveDocument.Shapes.Count
MsgBox "Il y a " & ActiveDocument.Shapes.Count & " images habillées (Shapes)."
End If
End Sub