Insertion carte de France + coloration selon données.

  • Initiateur de la discussion Initiateur de la discussion Igl0
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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 !
 
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...
 
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 😕

Bonne soirée à tous 🙂

mth
 
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.
 
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
 
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:
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

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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
2 K
Réponses
8
Affichages
312
Réponses
34
Affichages
4 K
Réponses
6
Affichages
3 K
Réponses
0
Affichages
276
Réponses
0
Affichages
402
Retour