Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro traitement Image

1 réponse
Avatar
Alain
Bonjour,

Je veux appliquer 3 traitements successifs à 1 image :
Luminosité 40
Contraste 70
Taille 150 %

Je fais cette manip sur toutes les images du document.
J'ai essayé de faire une macro m'évitant de répéter ces 3 actions
systématiquement :

1. J'ai sélectionné une image à traiter
2. J'ai lancé l'enregistreur de macro
3. J'ai appliqué les 3 actions à l'image
4. J'ai enregistré la macro

Le pb, c'est que lorsque j'applique la macro à une nouvelle image : la
luminosité et le contraste sont traités correctement MAIS pas la mise à 150
% de la taille.
Je crois avoir compris que la taille d'origine de la première image «
pollue » la macro.
Comment faire pour que la mise à 150 % s'applique à toutes les images ?

Voici le code obtenu :

Sub l40c70t150()
'
' l40c70t150 Macro
' Macro enregistrée le 08/01/04 par alain
'
Selection.InlineShapes(1).Fill.Visible = msoFalse
Selection.InlineShapes(1).Fill.Transparency = 0#
Selection.InlineShapes(1).Line.Weight = 0.75
Selection.InlineShapes(1).Line.Transparency = 0#
Selection.InlineShapes(1).Line.Visible = msoFalse
Selection.InlineShapes(1).LockAspectRatio = msoTrue
Selection.InlineShapes(1).Height = 112.79
Selection.InlineShapes(1).Width = 180.84
Selection.InlineShapes(1).PictureFormat.Brightness = 0.4
Selection.InlineShapes(1).PictureFormat.Contrast = 0.7
Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic
Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
Selection.InlineShapes(1).PictureFormat.CropRight = 0#
Selection.InlineShapes(1).PictureFormat.CropTop = 0#
Selection.InlineShapes(1).PictureFormat.CropBottom = 0#
End Sub

Merci de votre collaboration

1 réponse

Avatar
anerie
hi han
Ta macro enregistrée utilise les dimensions absolues.
Edite ta macro pour faire qqch comme
H = Selection.InlineShapes(1).Height
Selection.InlineShapes(1).Height = H * 1.5
Salutations - Anerie

"Alain" a écrit ...
Bonjour,

Je veux appliquer 3 traitements successifs à 1 image :
Luminosité 40
Contraste 70
Taille 150 %

Je fais cette manip sur toutes les images du document.
J'ai essayé de faire une macro m'évitant de répéter ces 3 actions
systématiquement :

1. J'ai sélectionné une image à traiter
2. J'ai lancé l'enregistreur de macro
3. J'ai appliqué les 3 actions à l'image
4. J'ai enregistré la macro

Le pb, c'est que lorsque j'applique la macro à une nouvelle image : la
luminosité et le contraste sont traités correctement MAIS pas la mise
à 150 % de la taille.
Je crois avoir compris que la taille d'origine de la première image «
pollue » la macro.
Comment faire pour que la mise à 150 % s'applique à toutes les images
?

Voici le code obtenu :

Sub l40c70t150()
'
' l40c70t150 Macro
' Macro enregistrée le 08/01/04 par alain
'
Selection.InlineShapes(1).Fill.Visible = msoFalse
Selection.InlineShapes(1).Fill.Transparency = 0#
Selection.InlineShapes(1).Line.Weight = 0.75
Selection.InlineShapes(1).Line.Transparency = 0#
Selection.InlineShapes(1).Line.Visible = msoFalse
Selection.InlineShapes(1).LockAspectRatio = msoTrue
Selection.InlineShapes(1).Height = 112.79
Selection.InlineShapes(1).Width = 180.84
Selection.InlineShapes(1).PictureFormat.Brightness = 0.4
Selection.InlineShapes(1).PictureFormat.Contrast = 0.7
Selection.InlineShapes(1).PictureFormat.ColorType > msoPictureAutomatic
Selection.InlineShapes(1).PictureFormat.CropLeft = 0#
Selection.InlineShapes(1).PictureFormat.CropRight = 0#
Selection.InlineShapes(1).PictureFormat.CropTop = 0#
Selection.InlineShapes(1).PictureFormat.CropBottom = 0# End Sub

Merci de votre collaboration