Créer une carte à partir d'une image SVG

Alza

XLDnaute Junior
Bonjour à tous,
Je viens vers vous car je suis complètement bloqué ..
En effet je travaille sur un projet (qui doit n'utiliser qu'excel exclusivement) et nous souhaitons affecter des zones géographiques d'activité à des agents, on souhaite pour cela passer par une carte cliquable de la région, cette carte est découpée en 5 départements, qui sont eux même découpés en provinces.
L'objectif est de pouvoir, après la sélection d'un agent (via une cb), cliquer sur des provinces qui se colorisent et dont on récupère la valeur afin de pouvoir faire le lien Agent/provinces dans la BDD. Lors d'un clic sur une zone déjà colorisé on enlève la couleur et on delete le lien Agent/province correspondant dans la BDD.
En semi-code ça donne quelque chose comme ça :

On Carte_click ()
begin
x as province
A as agent
x = Carte.SelectedValue
A = CbAgent.SelectedValue
if A/x not exist in Agent/provinces
colorise x
Add A/X
else
décolore x
delete A/x
finsi
end

J'ai cru comprendre que c'était possible suite à la lecture de ce tutoriel OFFICE : Dessiner une carte de france avec les fonctions de dessins ,
j'ai donc essayé avec le carte du tuto et cela marche très bien, je pense que ça pourrait correspondre exactement à ce que je recherche.
Mais, car vous vous en doutez il y a un mais, je rencontre un problème lorsque j'essaye d'adapter cela à ma carte..
Mon problème étant que je ne sais pas du tout comment adapter le code pour créer la carte à partir de mon image .SVG, j'ai bien fait des essais mais Excel plante à chaque fois.

Avant d’aller plus loin j'ai donc décidé de me tourner vers vous afin de savoir si vous pensez que ce que je souhaite faire est vraiment possible, et si vous pouviez m'aider dans la procédure à suivre.

J'espère avoir été clair dans mes propos et ne pas trop en demander, je vous remercie d'avance pour vôtre aide et reste à disposition pour toute information complémentaire.

ps : Veuillez trouver ci-joint la carte au format .SVG
 
Dernière modification par un modérateur:

Alza

XLDnaute Junior
Re : Créer une carte à partir d'une image SVG

Bonjour Pierre, merci pour ta réponse rapide !
En effet ta solution m'a l'air d'être une piste très intéressante, je vais me pencher dessus plus en détail dans la soirée n'ayant pas accès aux exemples de tes explications sur mon lieu de travail.
Je te donne un retour d'ici demain,
Alza
 

Alza

XLDnaute Junior
Re : Créer une carte à partir d'une image SVG

Bonjour Pierre,
J'ai réussi à obtenir exactement la carte que je voulais, merci beaucoup pour le partage des tes documents, ils sont géniaux !
Il ne me reste plus qu'à essayer de bidouiller cette carte pour en faire ce que je veux, je te tiens au courant de l'évolution et des problèmes si j'en rencontre (n'espérons pas :p).
Bonne journée,
Alza'
 

Alza

XLDnaute Junior
Re : Créer une carte à partir d'une image SVG

Bonjour le forum, Pierre,

J'épprouve quelques difficultés et j'espérais que vous pourriez m'aider !
J'ai cru comprendre que la valeur de l'élément sélectionné peut-être récupérée avec application.Caller, cependant comme il n'y a pas d'objet "carte" comprenant toutes les formes, je ne sais pas comment appliquer une méthode sur le click d'un objet, j'ai regardé mais je ne comprend pas comment c'est fait. Ce serait vraiment utile pour traiter les données qu'on récupère en fonction du click ! (J'ai l'impression de ne pas être très clair, l'idée c'est que n'importe ou on clic sur la carte je puisse récupérer la donnée de l'endroit cliqué)
Quelque chose comme :
Code:
sub carte_click() 'Carte étant l'ensemble des forme composant le groupe "carte"
msgBox Application.Caller
end sub
Autre problème, j'ai voulu ajouter le screenTip pour voir le nom lors du survol des provinces avec la souris .. Alors oui le screenTip fonctionne mais lorsque je sélectionne l'une des form un message d'erreur apparait disant "Référence non valide"

Merci de vôtre aide.
Je vous joins ma carte : Document Cjoint

Alza'
 
Dernière modification par un modérateur:
Haut Bas