Localiser sur une carte

lienad

XLDnaute Occasionnel
Bonsoir à tous ,

Je souhaite localiser des societes sur une carte des départements français .
Comment créer un "lien" entre une societé et son département d'implantation
pour la mise à jour de la carte (onglet France) et la liste des sociétes (onglet départements) .
Merci de votre aide et de vos explications.
Exemple joint avec carte de France "issue" du forum
 

Pièces jointes

  • CarteFrance.V5.zip
    30.5 KB · Affichages: 308

lienad

XLDnaute Occasionnel
Re : Localiser sur une carte

Bonjour à tous ,
Bonjour Cb 60 .

La carte que j'utilise en pièce jointe provient déja du Forum .
Ma demande concerne la méthode pour créer la liaison entre les 2 onglets et la mise à jour de la carte .
Cela suppose t-il une macro.
Merci de votre collaboration
 

Gruick

XLDnaute Accro
Re : Localiser sur une carte

Salut Lienad,
CB60 a raison, la carte et ses macros sont sur le forum, mais il faut bien connaître le maniement des choses. A manipuler avec soin donc.
En effet, dans la carte il te manque des départements (disparus) : la Dordogne, le Cher ou la Haute-Saône. Quant à la Côte d'Or, elle a un peu glissé vers le sud.
Ensuite, tu as supprimé la colonne où figuraient les noms des shapes du genre Dpt01 pour l'Ain, alors que la macro fonctionnera avec ces noms.
Puis, tu as changé en la complétant le nom de la feuille "Départements" alors que dans la macro, non. Cette feuille est une liste non une base de données.
Il te faudra ajouter une vraie base de données, de façon à avoir plusieurs sociétés dans un département si besoin est. Tout est dans la carte XLD, à modifier selon les desiderata.
Il faut faire attention à tout.
C'est une magnifique réalisation que j'ai complété avec les Dom-Tom pour des raisons personnelles, elle marche du tonnerre.

Sinon, il te reste Microsoft Map, lié à Excel par insertion objet, mais là, je ne sais pas...

Courage,
Gruick
 
Dernière édition:

lienad

XLDnaute Occasionnel
Re : Localiser sur une carte

Bonjour Gruick ,
Et merci de "faire vivre " la discussion.
Je ne peux que confirmer la qualité du travail qui a conduit à l'existence de cette carte .
Je me suis permis des interventions (donc des suppressions) pour en fait
recréer une situation 0. D'un coté une carte, de l'autre des données.
Je met donc en pièce jointe la version originale de la carte, en souhaitant que l'un d'entre vous m'indique "la 1ere direction" à suivre pour localiser les societes en les liant au département.
Merci de votre compréhension et pardonnez mon insistance .
 

Gruick

XLDnaute Accro
Re : Localiser sur une carte

Bonjour Lienad, me revoici.

Scandaleux : il manque la Corse.

Tu peux commencer par confectionner ta base de données sur la feuille "Z'êtes d'où", en remplaçant les pseudos par le nom de tes sociétés, et le prénom par leur adresse. Pour la ville on pourra mettre le code postal et la ville. Le département et la région peuvent être obtenus par formule du genre index/equiv. que Monique maîtrise à fond. Je n'ai pas encore regardé le cas de l'étranger, mais ça a l'air très intéressant. (Dans ma version, j'y ai plutôt préféré les Dom-Tom).

Après, tout dépend de ta faculté de changer les instructions dans les macros.

En ce qui concerne le résultat, un affichage en message peut être remplacé par une trace écrite dans des cellules, mais on peut aussi filtrer la BDD qui donnera le même.

A plus,
Gruick
 

mutzik

XLDnaute Barbatruc
Re : Localiser sur une carte

Bonjour à tous,

ayant été partie (très) prenante dans la construction de cette appli, je vais t'indiquer les grandes lignes de son fonctionnement, mais pour cela je voudrai d'abord savoir si tu connais la prog en VBA

rappelle moi (lol)
 

Gruick

XLDnaute Accro
Re : Localiser sur une carte

Bonjour cher Mosellan,
Je te joints un département supplémentaire, dont j'ai parlé plus haut.
Me vient une idée de faire une carte des vins... même de Moselle que j'ai eu le plaisir de goûter.
Je crains que la Seine et Marne reste vierge, mais la Champagne n'est pas loin.
A plus,
Gruick
 

Pièces jointes

  • ça se Corse.xls
    13.5 KB · Affichages: 275

lienad

XLDnaute Occasionnel
Re : Localiser sur une carte

Bonjour Mutzik,

Une réponse encourageante !
Je n'ai pas de véritable connaissance en programmation .
Il m'arrive d'accéder à l'éditeur de vba pour de menues interventions.
Mon souci reste de franchir un modeste palier supplémentaire, mais surtout je suis convaincu que "cette carte" correspond à mes besoins.
Mais pour cela il me faut en comprendre quelques principes.
Dans l'attente
 

Gruick

XLDnaute Accro
Re : Localiser sur une carte

re,
Lienad, as-tu commencé par remplir ta BDD comme je t'ai conseillé.
Mutzik et moi voulons bien t'aider, mais là on tourne en rond si tu ne nous dis pas où tu éprouves un problème. C'est un gros morceau auquel tu t'attaques, dis nous ce qui te pose problème, et aussi ce que tu comprends.
Le coeur du fichier, c'est ses macros et ses shapes.
Cliquer sur un département fait "remonter" son nom de shape, lequel aide à "fouiner" dans la liste, pour en tirer son vrai nom, son numéro, la région à laquelle il appartient, et aussi d'extraire dans la BDD les renseignements désirés.
Evidemment, on peut simplifier en suppriment la notion de région, de limiter à la France métropolitaine (et la Corse).
De mon côté, je mets la touche finale avec mes Dom-Tom (pour que Dull soit sur la liste), et les pays francophiles (et phones). J'espère que ce fichier ne dépassera pas les 48,8 ko fatidiques.
A plus,
Gruick
 

lienad

XLDnaute Occasionnel
Re : Localiser sur une carte

Bonsoir à tous ,

Après quelques semaines d'interruption je fais de nouveau appel à vous .
A partir de la pièce jointe (dont vous reconnaitrez la provenance) pouvez vous m'expliquer l'origine de l'erreur
"ActiveSheet.Shapes(ShapeName ...et la corriger .
Merci par avance de votre participation
 

Pièces jointes

  • Carte3333.zip
    20.7 KB · Affichages: 231

CB60

XLDnaute Barbatruc
Re : Localiser sur une carte

Bonsoir
Je ni connais pas grand chose, mais l'erreur n'apparait pas en faisant cette modif:

For Each c In .Range("e2:e" & .Range("e65536").End(xlUp).Row)
If c <> 269 Then
ShapeName = "Cne" & Format(c.Value, "0")
Else
ShapeName = c.Offset(0, 2) & "269"
End If
ActiveSheet.Shapes(ShapeName).Fill.ForeColor.SchemeColor = 42
Next c
 

Discussions similaires

Statistiques des forums

Discussions
312 977
Messages
2 094 109
Membres
105 939
dernier inscrit
mgd313492