Insertion carte de France + coloration selon données.

Igl0

XLDnaute Nouveau
Bonjour à tous,
Je souhaite avoir sur un document excel une carte de France sur laquelle les départements sont colorés selon le nombre de fois ou il a été visité (du rouge au vert, avec un changement de couleur tous les 10 ou 15).
Les données se présentent sous la forme, par exemple, A1=Num_du_dpt et A2=Nb_de_visite.

J'ai trouvé ça dans le forum qui me semblait pas mal, mais pas adapté à ce que je veux faire.

Quelqu'un aurait une idée ?

Merci.
 

Igl0

XLDnaute Nouveau
Re : Insertion carte de France + coloration selon données.

Le début de mes données :

Dep Visites
01 89
02 12
03 53
04 34
05 20
06 19
07 24
08 1
09 0
10 55

Je souhaiterai que selon la tranche (0-15, 16-30, 31-45, 46-60...), les départements sur la carte soient colorés fonction du nombre de visite.
Je ne sais pas si joindre mon fichier serait d'une grande utilité, puisqu'il est pour le moment uniquement constitué de 2 colonnes de données !
 

Igl0

XLDnaute Nouveau
Re : Insertion carte de France + coloration selon données.

Bonjour Igl0, :) Hello JC :)

Il y a aussi la carte des départements sur le blog de notre ami tatiak :

Tatiak

Bonne soirée à tous
Bises JC :)
Merci. :)
C'est pas exactement ce que je pensais, mais c'est plutôt pas mal. Par contre, je sais pas si ça vient de chez moi, mais quand je change les valeurs + appui sur "Dessin", rien ne se passe...
 

mth

XLDnaute Barbatruc
Re : Insertion carte de France + coloration selon données.

Re :)

Enregistre le fichier sur ton disque, puis à l'ouverture active bien les macros.
De mon coté (Excel 2007) ça fonctionne très bien :confused:

Bonne soirée à tous :)

mth
 

Igl0

XLDnaute Nouveau
Re : Insertion carte de France + coloration selon données.

Ah ben finalement, ça fonctionne. En revanche, j'ai deux petits soucis.
- Sur 2 départements : le 49 et le 32, si on met des 1 partout, on s'aperçoit que ces 2 départements ont un petit problème concernant la taille du rond.
- Auriez-vous une idée sur la façon d'implémenter la couleur selon le nombre de visites ?
Merci.
 

JCGL

XLDnaute Barbatruc
Re : Insertion carte de France + coloration selon données.

Bonjour à tous,
Salut Mimi,

Il y a une petite erreur sur le fichier de Tatiak : le département 32 n'existe pas il est avec le 31.

Bises à Mimi
A + à tous
 

Igl0

XLDnaute Nouveau
Re : Insertion carte de France + coloration selon données.

Alors là, grand merci !
:)
C'est exactement ce que je recherchais. Par contre, je ne trouve pas comment utiliser les codes couleurs en lieu et place des "vbWhite, vbRed...".
Une idée ?
EDIT : Ca marche avec les codes couleurs décimaux.

Encore merci pour votre aide.
 
Dernière édition:

Igl0

XLDnaute Nouveau
Re : Insertion carte de France + coloration selon données.

Me revoilà. :)
J'ai un petit souci. Selon l'étendue de la période choisie (un mois ou un an), mon nombre de visites peut varier de 15-20 à 1000. Existe-t-il un moyen de créer un échelle dynamique ?
Merci.
 

Pièces jointes

  • Carte France.xls
    162 KB · Affichages: 363
  • Carte France.xls
    162 KB · Affichages: 299
  • Carte France.xls
    162 KB · Affichages: 330

JCGL

XLDnaute Barbatruc
Re : Insertion carte de France + coloration selon données.

Bonjour à tous,

Ton code ne fonctionnera pas pour les lignes 34 à 42 : tu fais référence à la colonne 2 ET à la colonne 3... qui a des valeurs pour ta légende.

Ceci devrait convenir :
VB:
Sub ColorMap()
Dim oSheet As Excel.Worksheet ' Feuille
Dim lLine As Long ' Numéro de ligne
Dim loShape As Shape ' Forme
Dim lColor As Long ' Couleur
' Feuille contenant la carte
Set oSheet = ThisWorkbook.Sheets("Répartition")
' Désactive le remplissage de la carte
oSheet.Shapes("CarteFrance").Fill.Visible = msoFalse
' Pour chaque ligne de Visites
For lLine = oSheet.UsedRange.Row + 1 To oSheet.UsedRange.Row + oSheet.UsedRange.Rows.Count
If oSheet.Cells(lLine, 2) >= "" Then lColor = vbWhite
If oSheet.Cells(lLine, 2) >= 1 And oSheet.Cells(lLine, 2) <= 5 Then lColor = vbWhite
If oSheet.Cells(lLine, 2) >= 6 And oSheet.Cells(lLine, 2) <= 10 Then lColor = 13209
If oSheet.Cells(lLine, 2) >= 11 And oSheet.Cells(lLine, 2) <= 20 Then lColor = 255
If oSheet.Cells(lLine, 2) >= 21 And oSheet.Cells(lLine, 2) <= 30 Then lColor = 39423
If oSheet.Cells(lLine, 2) >= 31 And oSheet.Cells(lLine, 2) <= 40 Then lColor = 65535
If oSheet.Cells(lLine, 2) >= 41 And oSheet.Cells(lLine, 2) <= 50 Then lColor = 52749
If oSheet.Cells(lLine, 2) >= 51 And oSheet.Cells(lLine, 2) <= 60 Then lColor = 52377
If oSheet.Cells(lLine, 2) >= 61 And oSheet.Cells(lLine, 2) <= 70 Then lColor = 26637
If oSheet.Cells(lLine, 2) >= 71 Then lColor = 16763904
' Parcours les départements de la carte
For Each loShape In oSheet.Shapes("CarteFrance").GroupItems
' Si la forme loShape a pour nom la valeur de la première colonne (l'identifiant FR-XX)
If loShape.Name = oSheet.Cells(lLine, 1) Then
' Réactive le remplissage de la forme
loShape.Fill.Visible = True
' Type de remplissage = couleur unie
loShape.Fill.Solid
' Pas de transparence
loShape.Fill.Transparency = 0#
' Couleur de remplissage
loShape.Fill.ForeColor.RGB = lColor
' La forme a été trouvée => on sort de la boucle
Exit For
End If
Next
Next
End Sub

Je ne comprends ta demande d'échelle dynamique.

Tu pourrais multipier le nombre de visites par 100 pour avoir une couleur mais cela te donnera un patchwork...

Tu pourrais aussi prendre le maxi des visites et appliquer un coefficient diviseur pour les autres couleurs. (voir le fichier de Tatiak)

A+ à tous
 

JCGL

XLDnaute Barbatruc
Re : Insertion carte de France + coloration selon données.

Bonjour à tous,

Un essai d'échelle "dynamique"...

A+ à tous
 

Pièces jointes

  • JC Carte France Visite Légende et Couleurs Dynamaiques.xls
    137 KB · Affichages: 610

mécano41

XLDnaute Accro
Re : Insertion carte de France + coloration selon données.

Bonjour à tous,

Ce que je propose ne fait pas avancer le schmilblick pour la légende dynamique mais je me suis demandé pourquoi on balayait toutes les formes à chaque changement d'un cellule de visite. Comme je n'ai pas pu me répondre, j'ai fait une version dérivée...

Je suis évidemment obligé d'ajouter un bouton pour la RAZ.

A toutes fins utiles...

Cordialement
 

Pièces jointes

  • Colorier Carte France.xlsm
    153 KB · Affichages: 456

Statistiques des forums

Discussions
312 099
Messages
2 085 282
Membres
102 848
dernier inscrit
boum