Rapport de message :*
 

Re: Carte de France et statistiques

Titre du sujet : Re: Carte de France et statistiques
par Mth le 22/08/2012 22:20:59

Bonsoir Brunoaimej, bonsoir à tous,

Tu trouveras ci-joint une approche simple (beaucoup moins jolie que ce que tu as pu voir dans les fichiers de cartographie du site ... )
Je suis partie d'un fichier Excel contenant une carte de France des départements (réalisée je crois par Thierry d'XLD), et j'ai mis ce code dans un module standard:
Option Explicit
Sub Monclic()
 'Définition des variables
 Dim LocHaut As Long, LocGauche As Long, mInfo As String

 'Dans l'onglet Dep
 With Sheets("Dep")
   'Application.caller donne le nom du shape qui a été cliqué
   'Vlookup (RECHERCHEV() ) va chercher le libellé dans la colonne Info
   'Voir la définition de la plage nommée PlageDep dans le gestionnaire de noms
   mInfo = Application.WorksheetFunction.VLookup(Application.Caller, .Range("PlageDep"), 6, 0)
 End With

 'Dans l'onglet de la carte de France
 With Sheets("France")
   'PAsse à la ligne suivante si erreur
   On Error Resume Next
   'Efface le shpae nommé "Comments"
   .Shapes("Comments").Delete
 
   'Donne la position haute du shape
   LocHaut = .Shapes(Application.Caller).TopLeftCell.Top
   'Donne la position horizontale
   LocGauche = .Shapes(Application.Caller).TopLeftCell.Left

  'Ajoute un shape rectangle, position horizontale, verticale, largeur, hauteur)
 With .Shapes.AddShape(msoShapeRectangle, LocGauche, LocHaut, 150, 50)
   'Le nomme "Comments"
   .Name = "Comments"
   'Y intègre le libellé trouvé dans la feuille Dep pour ce département
   .TextFrame.Characters.Text = mInfo
 End With
End With

End Sub
 

Les informations saisies pour chaque département dans l'onglet "Dep" s'affichent dans un rectangle en cliquant sur le département  sur la carte.

Je ne sais si cela peut t-être utile ou pas du tout, mais dans le doute tu trouveras le fichier en PJ (format Excel 2007)

Très bonne soirée,

mth

Edit: Désolée, j'ai dû éliminer quelques départements sur la carte car je dépassais le 80 K pour déposer sur le site (mais ça ne change rien quant au fonctionnement)