Hello !
Je me lance dans un projet assez baleze en VBA (pour mon niveau) qui consiste à représenter une déformation d'une pièce sur un plan avec des flèches dans un repaire orthonormé. En entrée j'ai des coordonnées (différence entre la valeur nominale et la valeur mesuré d'un point de la pièce) et en sortie des flèches sur une image.
Pour simplifier prenons l'exemple ci-dessus:
Je rentre des valeurs X et Y et je veux que ma flèche se positionne grace à une macro.
Le cercle bleu représente l'origine de la flèche; l'origine d'une flèche ne changeras jamais et sera connu à l'avance
Je peux contrôler la flèche avec ces commandes:
ActiveSheet.Shapes.Range(Array("Straight Arrow Connector 3")).Select
Selection.ShapeRange.Height = 59.5275590551
Selection.ShapeRange.Width = 116.2204724409
Selection.ShapeRange.Rotation = -90
Problème:
• Comment connaitre le nom d'une flèche ? je vais en avoir plusieurs sur le programme finale.
• La commande:
Selection.ShapeRange.Rotation = -90
Fait tourner la flèche sur elle même en son milieu.... donc forcément le début de la flèche ne se trouve plus sur son origine..
•Height and Width ne peux pas contenir des valeurs négatives....
Selection.ShapeRange.Height = 59.5275590551
Selection.ShapeRange.Width = 116.2204724409
Existerai-il un moyen tellement plus simple pour juste contrôler la rotation et la longueur de la flèche ? (en gardant le même origine)
Comme ca je n'aurais qu'as faire un pauvre pythagore pour obtenir la longueur totale de la flèche et lui donner un angle calculé avec les règles de trigo de bases...
SI besoin d'infos suplémentaires demandez moi !
Merqui
Gabin,