Carte délais France département - Colorier

valentin_Bal Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais inclure une carte de France dans un fichier Excel et j'aimerai que les départements Français puisse se colorier automatiquement en fonction des délais renseignés, j'ai vu qu'il existait des projets de ce genre sur les forums mais je ne maitrise pas du tout les maccro.


Ci dessous vous trouverez le lien ou se trouve mon fichier Excel:
https://www.cjoint.com/?3KzmIGe7vBi

Je voudrais récupérer les délais indiqués dans l'onglet: "métrage" et pouvoir colorier la carte en fonction des délais
Ex: Bleu foncé pour 1 jour soit 24H - Bleu Clair pour 2 jours soit 24H - Vert pour 3 jours soit 72H


Merci d'avance de votre aide, il ne me manque plus que ça pour finaliser mon fichier.



A voir également:

2 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 745
 
Bonjour valentin

1ere étape : renommer toutes les Free forms des départements avec leur n° précédé de &, par ex &1 pour Ain &40 pour les Landes etc

2eme étape : ALT F11 pour ouvrir Editeur VBA puis Insertion Module et dan sla page blanche coller la macro suivante :

Sub colorie()
For n = 12 To 106
dep = Sheets("84").Range("A" & n)
delai = Sheets("84").Range("C" & n)
nomdep = "&" & dep
Select Case delai
Case 0
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(255, 192, 0)
Case 1
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(0, 112, 192)
Case 2
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(123, 210, 240)
Case 3
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(17, 213, 134)
End Select
Next n
End Sub


3eme etape : Lancer la macro depuis l'Onglet Developpeur ou bien créer un bouton sur la feuille et y affecter le code précédent

Cdlmnt

PS dans la macro je n'ai pas récupéré les données dans l'onglet métrage car elles sont en 2 parties mais dans l'onglet 84 ; si tu veux les recuperer dans metrage il faut faire 2 boucles For n= l'une de la premiere ligne à la derniere de la 1ere partie, l'autre de la premiere ligne à la dernière de la seconde partie

"L'imagination est plus importante que le savoir." A. Einstein
0
valentin_Bal Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

merci pour ta réponse, je vais créer un nouvel onglet pour les délais sans faire 2 parties, car je vais créer d'autres zones de départ. Je vais nommer mon onglet: délais - mes départements seront enregistrés entre A2 et A96 et mes délais seront enregistrés entre C2 et C96. Faut il changer des annotations dans le macro que tu m'as envoyé?

Je ne comprends pas la 3eme étape.

merci d'avance pour ton retour
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 745 > valentin_Bal Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Oui la boucle sur les lignes sera désormais For n= 2 to 96 et il faudra remplacer le nom de la feuille (84 pour l'instant) par celui de ton nouvel onglet

La 3eme étape pour lancer la macro tu as 2 possibilités :
- soit à partir de l'onglet Développeur dans le ruban des menus en haut puis Macros et selectionner le nom de la macro à exécuter (la manip est à faire à chaque actualisation)
Si l'onglet Developpeur n'est pas présent cliquer sur bouton Excel en haut à gauche puis Options Excel puis Standard et cocher Afficher onglet Developpeur dans le ruban
- soit de créer un bouton dans la feuille carte de France pour lancer la macro et actualiser la carte : Onglet Developpeur Inserer puis choisir le bouton dans les contrôles ActiveX l'inserer sur la page puis clic droit sur le bouton Visualiser le code et sous Private Sub CommandButton1_Click() tu inseres une ligne avec simplement le nom de la macro à eacuter soit colorie

Par contre peux tu me dire où tu as trouvé une carte avec les formes de chaque département, cela m'interesse

Cdlmnt
0
valentin_Bal Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai bien fait ce que tu m'as dit, j'ai créé un bouton

Je suis dans développeur, j'ai fait insérer, Controles ActiveX, clic droit visualiser le code

Voici le code que je viens de renseigner, j'ai juste rajouté colorie comme tu peux le voir:
Private Sub CommandButton1_Click()
colorie
End Sub

Ensuite j'ai enregistré et quand je click sur le bouton il n'y a rien qui se passe, je peux juste sélectionner le bouton et voici le nom de la formule du bouton
=INCORPORER("Forms.CommandButton.1";"")

Sais tu pourquoi ca ne fonctionne pas ?

Voici le macro que j'ai inséré au début:
Sub colorie()
For n = 2 To 96
dep = Sheets("111").Range("A" & n)
delai = Sheets("111").Range("C" & n)
nomdep = "&" & dep
Select Case delai
Case 0
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(255, 192, 0)
Case 1
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(0, 112, 192)
Case 2
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(123, 210, 240)
Case 3
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(17, 213, 134)
End Select
Next n
End Sub
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 745 > valentin_Bal Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Dans l'onglet Developpeur as tu bien désactivé le mode création après avoir avoir inséré le code ?
Si malgré tout ça ne fonctionne pas repost moi ton fichier, je regarderai

Et je te redemandes si possible la source de ta carte, j'en ai mais pas des aussi bien.

D'avance merci

Cdlmnt
0
valentin_Bal Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
https://www.cjoint.com/?3KzmIGe7vBi

voila le fichier de base, Oui j'étais toujours en mode création, quand je click maintenant sur le bouton, voici le message: Erreur d'exécution 2147024809 (80070057)
l'élément portant ce nom est introuvable et quand je click dans débigage voici le message surligné

Case 1
Sheets("Carte de France").Shapes(nomdep).Fill.ForeColor.RGB = RGB(0, 112, 192)
0
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
Salut le Forum

Un exemple : Carte.xls

Mytå
0