XL 2016 Application.Caller Shape

Clemence Spr

XLDnaute Nouveau
Bonjour à tous !

Je voudrais créer une carte interactive sur excel (ci-joint le fichier excel avec vba)
J’ai déjà dissocier les formes etc mais je ne n'arrive pas à utiliser le code "Application.Caller"

Je voudrais simplement que quand je clique sur une des formes (ici un pays) il se mette d'une couleur particulière et ensuite mettre à jour des tableaux graphiques etc..

Mais je suis bloquée au premier point : quand je clique sur une des formes il n'y a pas la petite main comme il devrait avec l’application caller

J'ai ce code d'erreur quand je run la macro à la main ..

1585675586818.png

Pouvez-vous m'aider sur ce sujet ?
Ci-dessous le code que j'ai ecrit,

1585675649937.png


Merci beaucoup !!!!!
 

Pièces jointes

  • carteinteractive2.xlsm
    115.5 KB · Affichages: 21

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Clemence Spr

•>Clemence Spr
Ce petit test fonctionne chez moi ;)
VB:
Sub Test()
ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(0, 0, 200)
End Sub

EDITION: Bonjour kingfadhel, sylvanu
 
Dernière édition:

kingfadhel

XLDnaute Impliqué
Bonsoir à tous,
un petit ajout qui permet de réinitialiser les shapes.

VB:
Sub test()
Dim forme As Object, ws As Object
Set ws = ActiveSheet
    For Each forme In ws.Shapes
        forme.Fill.ForeColor.RGB = RGB(191, 191, 191)
    Next forme

ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = RGB(0, 0, 200)
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir le fil,
A la main, le code bute sur Application.Caller puisqu'il n'existe pas.
Application.Caller est initialisé lors d'une action sur un objet.

Sinon une carte de l'Europe qui ressemble beaucoup à votre exemple.
Les matrices de données sont très facilement modifiables.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T