Désolé j'avais pas mal édité ton code mais je n'ai pas sauvegardé... Je ne sais plus.
De manière générale, essaie de le simplifier. Tes conditions complexes et tes variables accédées de manière non constante (une fois tu fais appel à une variable que tu crées, une fois tu la retrouves via application.caller...) ne t'aident pas et rendent la relecture très difficile.
Essaie d'établir un pattern, par exemple :
1. je veux retrouver le nom de ma forme
2. je veux lui changer sa couleur
3. je veux retrouver la liste de députés correspondants
4. ...
Ensuite tu crées un sub/function pour chacune de ces taches bien définies. Tu peux leur donner des paramètres afin qu'elles s'adaptent à tous les cas, par exemple le nom de la forme.
Et ensuite dans ton sub principal tu appelles ces fonctions dans l'ordre de ton choix.
Cela te permet de tester ton code morceau par morceau, de décomposer ce qui "travaille ensemble" de ce qui est indépendant, et au final tu vas te rendre compte que tu as beaucoup de tests et de répétitions inutiles.
Ce sera plus clair à lire, à maintenir et à déboguer.
Un point très positif ton code est bien commenté, et ils aident vraiment à comprendre ce que tu veux faire. Garde-les !
Maintenant si tu as besoin d'aide ou d'autres conseils, n'hésite pas, mais prend le temps de vraiment spécifier ta demande. "Ca ne marche pas" ou "parfois ca bugue" sans que l'on sache le pourquoi du comment ne permet pas de te fournir une réponse satisfaisante. Toujours donner un contexte, une description du fonctionnement souhaité et des résultats attendus, pour chaque cas si il y a des conditions, et enfin l'endroit ou ca bloque.
:)