Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 ..


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



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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…