A voir également:
- Carte de france avec département à colorier
- Carte d'identité - Accueil - Services publics
- Pile carte mere - Guide
- Changer de carte graphique - Guide
- Autoroute la plus chère de france - Guide
- Prefixe france - Guide
2 réponses
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
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
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
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
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
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)