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
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
A voir également:
- Carte de france avec départements à colorier excel
- Carte d'identité - Accueil - Services publics
- Liste déroulante excel - Guide
- Aller à la ligne excel - Guide
- Pile carte mere - Guide
- Si et excel - Guide
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
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 :
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
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
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
25 nov. 2014 à 18:03
Salut le Forum
Un exemple : Carte.xls
Mytå
Un exemple : Carte.xls
Mytå
25 nov. 2014 à 16:48
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
Modifié par via55 le 25/11/2014 à 18:09
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
25 nov. 2014 à 18:24
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
25 nov. 2014 à 18:40
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
25 nov. 2014 à 18:52
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)