je cherche désespérement à dessiner des flèches via une macro sous Excel.
En fait j’arrive à en dessiner une, mais ensuite pour la faire aller dans le sens où je veux (par macro), là c’est l’échec total et je galère…
Si quelqu’un a un bout de code, ou peut m’expliquer la démarche, je prends !
Merci
Pour démarrer j’ai utilisé l’enregistrement de macro, mais il me mets des '#" en fin de coordonnées, et pas tout le temps, et je ne sais pas à quoi çà correspond !..
exemple :
ActiveSheet.Shapes(“Line 24”).Select
Selection.ShapeRange.Item(“Line 24”).Left = 87# <- aucune idée à koi sert ce # à la fin
Selection.ShapeRange.Item(“Line 24”).Width = 23.25
Selection.ShapeRange.Item(“Line 24”).Top = 412.5
Selection.ShapeRange.Item(“Line 24”).Height = 32.25
Par contre ton code permet de créer une flèche, et çà je sais le faire.
Ce que je cherche, c’est pouvoir la faire pivoter dans tous les sens, et c’est là que çà se gate .
en fait tant qu’on reste dans le même quart de plan, çà marche comme je veux, mais dès que je franchis les 90°, ou 180°, 270°, ou 0°, la flèche ne régit plus comme prévu, et il se passe comme des symétries horizontales ou verticales, avec changement de sens…
bé non justement les valeurs négatives ne passent pas !
tu dois utiliser les fonctions flipvertical et fliphorizontal, mais çà te change aussi les point .top et left.
Bref c’est le bordel à gérer, et çà nécessiterait peut-être 20 lignes de code, et je trouve pas çà propre !
hier soir j’ai trouvé une autre technique plus simple, c’est en utilisant la fonction incrementRotation.
mais 2 hics :
la figure pivote sur son axe de rotation (centre de gravité) et non pas par rapport à une extrémité comme je le voulais
l’angle renseigné en en relatif (par rapport au dernier angle), et pas en absolu.
mais avec 2 petites astuces, j’ai remédié à tout çà, et j’ai un truc qui fonctionne
merci pour ton aide
c’est effectivement ce qu’il aurait fallu faire, en conbinant cela avec les flip …
Mais avec le incrementRotation, c’est beaucoup plus facile à gérer !!!
En tous cas merci à toi d’avoir passer un peu de temps à étudier mon problème