Créer plusieurs Shapes (formes) avec coordonnées dans une image

Bonjour,
–1 J’ai une image avec 2 cercles et je voudrai afficher autour des
Test_Image_Points_ori.xlsm (2,0 Mo)
cercles des symboles ou lettres de 14 points dont j’ai les coordonnées en degrés. La circonférence des cercles peut représenter 360°, 90° ou 22.5° selon le modulo appliqué.
Si 2 ou plusieurs points sont rapprochés il faut que cela reste visible sans superposition.
–2 Le diamètre du cercle sert de pointeur vers un point particulier. Peut on le placer et / ou le faire tourner avec la souris en récupérant les coordonnées du point qu’il touche.
Je joins un fichier xl avec données, ce sera plus visuel et plus parlant
Je pourrai me débrouiller avec un exemple de code mais je n’ai pas trouvé d’exemple de code malgré mes recherches
Merci de votre aide
jc

1 « J'aime »

Bonjour,
Cela ressemble plus à des graphiques.
Mes salutation.

Bonjour,
Je peux me tromper mais je ne suis pas sur que ce soit un graphique car à terme c’est pour faire une animation de points qui tournent autour du cercle extérieur à des vitesses différentes. Les coordonnées des points sont en fait des longitudes planétaires à des moments t1 t2 t3 etc… sur le cercle extérieur (pour l’animation) et à un moment initial t0 sur le cercle intérieur.
jcl

c’est un « double donut »-graphique, donc avec VBA cela sera possible de tourner le « donut » interieur et exterieur à des vitesses différentes.
Pour vous donnez un idée, on commence comme ça : https://www.pinterest.com/pin/double-doughnut-chart-in-excel-youtube--693554411340290535/
Mais avec cela, on a déjà fait la moitié …

Vos points ne semblent pas à un circle,ils sont quoi ?

Salut @Cow18 ,

Oui un graphique « Rayon de soleil » aurait pu l’aider c’est vrai, mais le problème c’est la graduation.
Une suggestion à améliorer :
Test_Image_Points_ori.xlsm (478,2 Ko)
Cordialement

Je ne connaissais pas le « Double Doughnut », j’ai regardé un peu c’est interessant mais plus pour des données plutôt commerciales .( comme dans votre lien ou dans celui-ci How to Create a Double Doughnut Chart in Excel? - YouTube) How to Create a Double Doughnut Chart in Excel? - YouTube)
Les coordonnées de mes points sont en fait des longitudes planétaires à des moments t1 t2 t3 etc… sur le cercle extérieur (pour l’animation future sur un recalcul de position) et à un moment initial t0 sur le cercle intérieur.
Si on fait un modulo 90 ou autre des coordonnées en 360°, le dessin montrera alors des relations particulières d’angle. Exemple, sur un celcle de 90° les points situés en carré ou en opposition sur un cercle de 360° seront conjoints au même degré.
merci de l’info
jcl

Très bonne suggestion.
Il me reste à comprendre comment vous avez fait et introduire d’autres points
merci de ce début
jcl

1 « J'aime »

Re, Toujours un plaisir,

un essai :
Test_Image_Points_ori (2).xlsm (491,3 Ko)

Super Cow18
avec les textes des Points indiqués
c’est exactement le but recherché
Curieux. A chaque sollicitation du bouton TEST, le point 0 du cercle subit une rotation aussi en même temps que les points.
Merci
jcl

merci,
encore un petit peu amélioré avec les couleurs de shapes comme Jacquinot_WILL-FREAD le faisait.
Le circle a maintenant aussi sa propre cellule
Test_Image_Points_ori (2).xlsm (111,1 Ko)

et maintenant avec des degrées normales
Test_Image_Points_ori (2).xlsm (113,3 Ko)

Super sur tous les points
des remarques sur la copie d’écran jointe
j’ai mis les textes des formes en fond blanc et ajouté la référence des degrès pour voir leur position
– le sens de rotation va de droite à gauche au lieu de gauche à droite (sens des graduations de l’image)
– concernant le modulo 90
Un cercle ou une roue est divisé en 360°. Il vaut donc mieux parler de « roue divisée en graduations » pour la compréhension.
Le modulo 90 est la transformation de la coordonnée en roue divisé en360 graduations dans une roue divisé en 90 graduations
Sur une roue de 90 graduations comme l’image « Image 19 » un point situé à 208° en coordonnée 360° sera à la graduation
a - b * Int(a / b) = (360-90) x int ( 360 / 90) soit à la 28ème graduation d’une roue de 90 graduations
un point à 352° sera à la graduation 82 etc
en coordonnées d’image Will-Fread avait dans la colonne D la formule de conversion =C3*360/90
piece jointe cercle Cow18.jpg

En tous cas merci beaucoup de ton investissement
jcl

okay ! Plus tard, vous voulez montrer quoi comme texte, un charactère ou une valeur ou les 2 ?
Maintenant je n’utlise que 180° des 360° pour me compliquer les choses.
Test_Image_Points_ori (2).xlsm (113,7 Ko)

Génial la gestion de la visibilité de plusieurs points proches
:grinning:
jcl
Comme les points sont des coordonnés astronomiques planètaires la police sera spéciale.
J’utiliserai 1 ou 2 caractères sans valeur comme texte, dans une police nommée Olympia Font.ttf qui ne peut être jointe.
Olympia Font.ttf.
Le point A sera toujours à 0° (il s’agit du Point Vernal). Aussi lors de chaque lancement du Test il devrait toujours être à la graduation 0.

je ne connais pas ce « Olympia », maintenant le textbox utilise « Webdings », mais dans la macro, vous pouvez le modifier assez facilement. Et je supposais qu’un charactère est environ 15 points.
Vous pouvez clicquer sur un textbox et le déplacer manuellement, parce que c’est assez difficile.à programmer.
Test_Image_Points_ori (2).xlsm (119,1 Ko)

concernant ce modulus 90 ou autre, vous voulez utiliser cela au lieu de 0-360° ?

Je pense que c’est ce que je ferai mais auparavant je teste où se positionnent les points les uns par rapport aux autre, et c’est pas évident qu’ils se positionnent correctement par rapport à un 0° même si le cercle au centre (image 19) reste fixe positionné avec le 0° en haut.
Donc je regarde pourquoi j’ai une impression de décalage sur ce fichier avec quelques paramètres mais qui ne m’avance pas vraiment
jc_Test_Image_Points_5 Cow18).xlsm (902,7 Ko)
Par contre la lisibilité des textes qui se décalent est bien rendu. :grinning:
jcl

votre « Ellipse 8 » est bien centré, quand vous clicquez dessus, le carré touche le circle d’une manière impeccable. Cela n’est pas okay pour « Image 19 », là, il y a 2 côtés avec un déviation. Par concequant, le centre du circle n’est pas exactement le centre du carré. Quand on tourne le carré, le circle, c’est comme une roue roulant sur une petite pierre. Je ne sais pas si c’est difficile à faire, mais si vous refaitez « image 19 », les résultats seront mieux … Attendez, je vous joins le fichier dans une heure (on m’appèle).

Normallement les 4 « roues » auront les mêmes dimensions (hauteur & largeur) et comme ce sont des circles l’hauteur = le largeur (à vérifier)
Maintenant au début de la macro « Testing », on choisit un des 4 roues (par exemple « 19 ») et on est parti.
jc_Test_Image_Points_5 Cow18).xlsm (902,2 Ko)