Monsieur Excel
Pour tout savoir faire sur Excel !

21 juillet 2016

Une macro qui perd le Nord !

Le problème suivant a été soulevé par Bill Manville, un MVP Excel bien connu des spécialistes. C’est un problème que vous pouvez reproduire facilement sur votre ordinateur.

Vous enregistrez une macro dans laquelle vous insérez un objet. Dans notre cas, prenez la flèche, en seconde position dans le bloc « Lignes », celle que j’ai encadrée de rouge dans la copie d’écran. Puis tracez une flèche qui monte vers le Nord-Ouest.

J’ai baptisé cette macro enregistrée Flèche_1. Vous pouvez constater qu’elle va bien vers le Nord-Ouest.


Maintenant, détruisez cette flèche et exécutez la macro. Vous obtenez alors, de façon surprenante, une flèche située au même endroit, de même taille, mais pointant à présent vers le Sud-Est.

Pour que la macro vous retrace une flèche identique à la première, vous devez intervertir les mesures n°1 et 2 avec les mesures n°3 et 4. C’est ce que j’ai fait dans Flèche_2 qui, elle, nous donne le résultat visé au départ !

Sub Flèche_1()
'
    ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 115.8, 49.8, 195.6, 144). _
        Select
        Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
End Sub

Sub Flèche_2()
'
    ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 195.6, 144, 115.8, 49.8). _
        Select
        Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
End Sub

Remarque – Une preuve de plus qu’Excel a toujours de quoi nous surprendre ! Notez au passage que ce retournement de flèche ne survient pas avec les quatre grosses flèches situées au début du bloc « Flèches pleines ».