Re : macro
al1000 à dit:
bonjour;
pour repondre à eric 45
Si je peux me permettre et si j'ai bien compris :
Les "ronds" sont "dessinés" par rapport aux valeurs qui se trouvent dans les cellules J6, H32 ou D50, REPONSE: j'ai 3 formes (a b et c)et chaque formes a 3 couleurs (a jaune, a vert, a bleu, b jaune....).en fonction de la cellule j6 la forme a met soit le jaune , vert ou bleu en premier plan et de meme pour les cellules h 32 pour la forme b et d50 la forme c .ainsi pour ecrire toute les conditions je souhaiterai savoir si il exciste une ecriture dans un macro qui reconaisse la forme en premier plan?
pourquoi vas tu chercher le "nom du rond" alors que tu peux prendre la valeur de ces cellules. Franchement je ne vois pas pourquoi tu te compliques, ou alors tu nous "caches" quelque chose.
la reponse de Gorfael me semble interessante mais j'ai du mal à la comprendre
il a t il quelqu'un qui pourrait me la decomposer?
merci à tous
Salut
3 séries (A, B, C) de forme de couleurs (R, J, B)
un clic sur le bouton donne pour chaque série le nom de la forme en premier plan en colonne D. Par exemple
A_J, B_B, C_R
série A, c'est la couleur jaune
Série B, couleur bleue
Série C, couleur rouge
Ce n'est qu'un exemple, mais ça explique (enfin, pour moi)
Par contre, je pense que la réponse de Eric 45 est plus adaptée : si tu mets des formes en ordre par macro, il suffit d'utiliser la même formule que celle de la macro de placement.
Le problème avec tes formes, c'est qu'il faut isoler des formes participants aux séries de toutes les autres qui peuevent être au-dessus, en dessous, ou au mileiu des séries
avec ma codification des noms, on peut remplacer
Range("D6")=F_A par,
par exemple
Select case right(F_A,1)
case "J"
Range("D6")="La couleur jaune de la série A"
.....
end select
ou faire un tableau pour le stockage( dim Tab_V(1 to 2, 1 to 3)
en tab_V(1, ) on met le nom
en Tab_V(2, ) on constitue la phrase
et on fait une boucle
tab(2,x)= "la série " & left(tab_v(1,X),1) & " est de la couleur " & right(tab_v(1,X),1)
Mais pour 3, ça vaut pas le coup
A+