XL 2013 Dessiner carte communes

erics83

XLDnaute Impliqué
Bonjour,

J'ai beaucoup cherché, mais n'ai pas trouvé la réponse et/ou piste de base.........

Je souhaiterais, à partir des coordonnées données par public.opendatasoft (par exemple), dessiner la carte du Var, des cantons et des communes. En fait, l'idéal serait de pouvoir sélectionner une commune, elle se coloriait en Vert (par exemple), et son canton en orange (toujours par exemple), et mettre toutes les autres communes "en blanc" .Ca permettrait de localiser la commune au sein de son canton. L'idéal serait de pouvoir sélectionner la commune et choisir à partir de quel ensemble elle se situe....là c'est le canton, mais s'il pouvait y avoir une liste déroulante que aurait pour sélection le canton, ou l'EPCI, ou la circonscription, ce serait absolument génial....(les EPCI, cantons sont dans le fichier public.opendatesoft, donc "facilement" récupérables, les circonscriptions sont dans l'Insee, donc on peut rajouter une colonne et faire un lien grâce aux codes postaux et/ou INSEE.........)

Exemple la commune de Signes ici à partir du fichier de Tatiak (mais j'ai "colorié" individuellement".., c'est pour montrer le résultat souhaité....)

1679997082827.png

J'ai vu qu'il existait différents fichiers sources qui dessinent des shapes, grâce aux coordonnées, mais impossible à ré-utiliser....(j'avoue m'y perdre un peu dans les différents types à utiliser (Json, Csv, etc...), j'ai vu l'excellent fichier de tatiak (Ultimate_v0.9, que j'avais téléchargé il y a quelques temps, mais que je ne retrouve plus sur le blog...(c'est pourquoi je ne peux pas le citer et/ou le mettre en lien)), mais pas de sélection possible par commune....et ensuite de coloriage....

Bref, merci pour votre aide et éclairages....
Eric
 

p56

XLDnaute Occasionnel
Bonjour Eric,
Dessiner des cartes c'est facile. Voici un jeu de carte du Var "Au choix" (proposition identique à celle que j'ai faite à Staple)
Et maintenant qu'est-ce qu'on fait avec cette base?
Rq : pour les epci j'ai du mal à faire une carte correcte, je la mets à part car je la trouve bizarre ...
P.
PS : j'ai du supprimer ma "Carte Ultimate" de mon site pour des soucis de "copiage indélicat" ...
 

Pièces jointes

  • Var_au_choix.zip
    825.6 KB · Affichages: 21
  • Var-Epci.xlsm
    340.9 KB · Affichages: 21

erics83

XLDnaute Impliqué
Merci,

Oui, et merci pour les fichiers, et je comprends pourquoi je n'avais pas retrouvé Ultimate...

Comme je le disais, mon souhait est "simple", via une liste déroulante, je sélectionne la commune, elle se colorie, et via une autre liste déroulante, je sélectionne au sein de quel ensemble je souhaite "voir" la commune (Canton, EPCI, circonscription). Ce n'est que du visuel.

J'ai regardé la carte EPCI, il y a Aix, c'est pourquoi (je pense) que le dessin te semble "bizarre" par rapport au Var...mais si on enlève Aix, les EPCI semblent correspondre...

Par contre, juste pour ma compréhension, j'ai "regardé" le code, et je ne vois pas comment il fonctionne (=dessin de la commune/canton/etc...), donc soit tu l'as protégé et caché et je le comprends (cf ce que tu as dit sur Ultimate), soit il y a une subtilité qui m'échappe..

Merci de m'éclairer.

Merci pour ton aide P.

Eric
 
Dernière édition:

p56

XLDnaute Occasionnel
Ok, je comprends mieux pour la carte ecpi.

Alors voici 2 fichiers : un zip avec la carte var-au-choix intégrant la carte ecpi "var uniquement" et une liste de correspondance avec l'ensemble des codes communes/arrondissements/cantons/etc ...
Avec ça il est simple de faire les listes déroulantes souhaitées.

Pour info toutes les cartes proposées contiennent une carte groupée de plusieurs shapes.
Chaque "sous-shapes" possède un nom à numérotation arbitraire, mais avec un alternativetext contenant le nom de la zone et son code : donc pour les communes nom de la commune et n° insee.

Avec ça il est simple de repérer les diverses communes appartenant à tel ou tel canton ou tel ou tel arrondissement pas exemple.

Bonne suite pour ton projet
P.

Ps: Pas de code caché, dans var-au-choix, c'est un simple copier/coller d'une shape d'un fichier vers un autre
 

Pièces jointes

  • VAR-codage.xlsx
    33.3 KB · Affichages: 16
  • Var_au_choix (2).zip
    983.2 KB · Affichages: 16

erics83

XLDnaute Impliqué
Merci P.

Je pense avoir compris : En fait ta carte est une série de shape, en cliquant dessus, je vois le nom de la commune, le code postal et un numéro aléatoire (.152 pour Hyères par exemple). Merci pour avoir pris le temps de m'expliquer, je t'en remercie.
J'ai compris que je peux faire les listes déroulantes avec le fichier "codage", qui permettrait de sélectionner les shapes correspondant....en fait, j'aurais besoin de la ligne de code qui dirait :
si je mets en A3, le nom de la commune
si je mets en A5, le nom de l'ensemble (EPCI, Canton, etc...)
Alors mettre le shape de A3 en couleur Verte et mettre en couleur orange l'EPCI (que j'aurais sélectionné en A5 par exemple) dont dépend la commune....
En fait, je pense que ça se situe ici, mais je ne vois pas comment....
VB:
ActiveSheet.Shapes(Application.Caller).AlternativeText, , Application.Caller
.

Merci pour ton aide,
Eric,
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Eric, P56,
Juste pour m'amuser, et en partant des excellentes cartes et données de P56, un essai en PJ.
On choisit une ville, la carte se met à jour, les données aussi.
On clique sur une ville, le nom et les données se mettent à jour.
Les trois couleurs utilisées sont programmables en haut à droite.
 

Pièces jointes

  • Var-Com V2.xlsm
    196.3 KB · Affichages: 25

p56

XLDnaute Occasionnel
Ah oui, alors il manque peut-être la liste des sous-shapes avec la correspondance code/nom commune (ci-joint)

Sinon, par exemple si je veux colorer la commune de HYÈRES (plusieurs shapes avec les îles Porquerolles, ...) j'écris un truc du genre :
VB:
Sub colorer()
Dim Sh As Shape

    For Each Sh In ActiveSheet.Shapes(".Carte_Arr").GroupItems
        If Sh.AlternativeText Like "HYÈRES*" Then
            Sh.Fill.ForeColor.RGB = 123456
        End If
    Next Sh
End Sub

(Nb la carte de groupe s'appelle improprement ".Carte_Arr" ... erreur de ma part)

Et si je veux colorer d'une autre couleur les commune du même canton, avec un ptit code à écrire :
* je trouve le code canton de HYÈRES (ou un simple recherchev)
* je filtre la liste des communes dont le code canton correspond
* je retrouve le n° de shape de ces communes
* je colore ces shapes de la couleur souhaitée

Facile!
P.

Edit : bonjour Sylvanu
 

Pièces jointes

  • Var_codages_shapes.xlsx
    14.8 KB · Affichages: 12

erics83

XLDnaute Impliqué
Super Merci P., effectivement, c'est "simple"....😁, mais je butais vraiment sur le code à créer,....je ne voyais pas comment faire la boucle....

Encore une fois, MERCI sylvanu ! , en voyant ton code, je vois qu'il me reste encore des progrès à faire...lol...j'avais la logique, mais...pas l'écriture du code......donc MERCI !!! Cela fonctionne parfaitement !!!

Merci à tous les deux pour votre aide 👍,
Eric
 

erics83

XLDnaute Impliqué
Re,

Juste pour le fun, car j’ai vu que P. avait mis l’option…est-il possible de faire un zoom « automatique » ? : je sélectionne Hyères, le code met la ville en vert , le canton en bleu (ou autre, j’ai modifié la « liste », donc je peux afficher le canton, l’EPCI, etc,… encore MERCI 👍) et un zoom s’opère directement et automatiquement sur le canton….

Merci pour vos aides,
Éric
 

erics83

XLDnaute Impliqué
Merci P.,

Effectivement, c'est absolument génial !!! par contre, quand j'ai vu les codes associés, je suis très loin de cette compétence....je n'ai pas vu/compris comment sont alimentées les combobox, mais ....je vais trouver, du moins j'espère....lol.....BRAVO !! et MERCI !!!

Concernant le zoom direct lorsqu'on sélectionne canton ou EPCI, c'est possible ou utopique ?

Merci pour vos aides,
Eric,
 

erics83

XLDnaute Impliqué
Bonjour P.,

Le but recherché est :

Lorsque je sélectionne la commune et l'EPCI (le canton, etc...), j'obtiens :
1680073219571.png

Ce qui est génial !!!
Mais le top du top ce serait d'avoir un zoom "automatique", qui zoomerai directement sur la sélection, style :

1680073357653.png

: on a pas "toute la carte du Var", on a juste les cantons "limitrophes", et un zoom sur la zone choisie...


Merci pour ton aide et conseils,
Eric
 

p56

XLDnaute Occasionnel
Bonjour Eric,

Alors voici un essai. Zoom sur zone cliquée selon périmètre choisi, la fenêtre du zoom se ferme soit en cliquant dessus, soit en cliquant sur une cellule quelconque de la feuille.
Le facteur de zoom est plus important pour une commune seule.
Démo_.gif

Est-ce que ç'est l'effet recherché?
P

Ps : ici le code fait référence au activeWorkbook.path donc le fichier est à mettre sur son disque dur
 

Pièces jointes

  • Var-Com - Copie.xlsm
    174.3 KB · Affichages: 28

erics83

XLDnaute Impliqué
Bonjour P.,

Plus j'essaye et plus je me dis que finalement tu as raison, visuellement cela n'amène pas "un plus"....Ton code (et celui de sylvanu bien évidemment) fonctionne très bien !!!

Juste toute dernière petite question, admettons que je veuille sélectionner plusieurs communes, un peu comme un TCD, où on peut sélectionner différentes données, ou via une combobox est-ce possible ? et possible de les mettre en couleurs ? là, par contre pas, besoin de "voir" les cantons et circonscriptions, etc...juste les communes.....

Merci pour vos aides,
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 171
Membres
112 676
dernier inscrit
little_b