Repositionnement d'images en VBA
Bonjour,
J'ai déjà posé un post sur ce sujet samedi mais je n'arrive pas à remettre la main dessus...
En gros, depuis quelques jours, on rencontre un problème pour repositionner des images insérées en VBA, dans Excel.
Celles-ci sont repositionnées en fonction d'une plage fusionnée. Or, une fois sur deux, elles sont replacées trop à gauche.
On utilise ce genre d'algorithme :
Code:
xlWkShape.Left = rng.Left + rng.Width / 2 - xlWkShape.Width / 2
Cet exemple vient d'un fichier vieux de 2-3 ans sur lequel cela fonctionnait parfaitement jusque là mais depuis quelques jours, c'est aléatoire sur le .left.
On a vérifié les variables et tout semble ok.
Quelqu'un rencontre ce type de problème en ce moment ?
Je ne peux fournir les fichiers sur lesquels on rencontre ce cas, pour des raisons professionnelles...
Cordialement,
une qui fonctionne a tout les coup dans tout les cas de figure
re
une qui fonctionne a tout les coup dans tout les cas de figure
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Sub test()
Set plage = Range("b17:c26")
Set monimage = ActiveSheet.Pictures("aaa")
With monimage
.ShapeRange.LockAspectRatio = msoTrue ' lock leratio indéformable
ratio = .Width / .Height ' calcul ratio
w = plage.Width ' width range
h = plage.Height ' height range
If (w / h < ratio) Then
.Width = w - 2
Else
.Height = h - (2 / ratio)
End If
.Left = plage.Left + ((plage.Width - .Width) / 2)
.Top = plage.Top + ((plage.Height - .Height) / 2)
'.Placement = 1
End With
End Sub |