Carte délais France département - Colorier

Fermé
valentin_Bal Messages postés 8 Date d'inscription samedi 8 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014 - 25 nov. 2014 à 12:40
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 25 nov. 2014 à 19:18
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 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
Modifié par via55 le 25/11/2014 à 14:24
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 samedi 8 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014
25 nov. 2014 à 16:48
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 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735 > valentin_Bal Messages postés 8 Date d'inscription samedi 8 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014
Modifié par via55 le 25/11/2014 à 18:09
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 samedi 8 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014 > via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024
25 nov. 2014 à 18:24
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 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735 > valentin_Bal Messages postés 8 Date d'inscription samedi 8 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014
25 nov. 2014 à 18:40
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 samedi 8 novembre 2014 Statut Membre Dernière intervention 25 novembre 2014
25 nov. 2014 à 18:52
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 mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 949
25 nov. 2014 à 18:03
Salut le Forum

Un exemple : Carte.xls

Mytå
0