1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Cartographie

Discussion dans 'Forum Excel' démarrée par A1B2C3, 28 Janvier 2019.

  1. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    Bonjour,

    Je souhaiterais avoir une représentation cartographique ou schématique dynamique me permettant de voir le nombre de train sur une région entre deux points. En gros si j'ai 5 trains par jour j'ai un trait plus épais que si je n'ai qu'un train par jour. Savez-vous si ce genre de carto existe sur excel?
     
  2. Chargement...

    Discussions similaires - Cartographie Forum Date
    Cartographie Forum Excel 8 Août 2018
    XL 2010 Codage VBA sur Zone couleur Cartographie suivant critères Forum Excel 23 Octobre 2017
    Cartographie des risques sur EXCEL Forum Excel 3 Octobre 2014
    Cartographie Forum Excel 12 Juin 2013
    Besoin de réaliser cartographie sous forme de graphique Forum Excel 6 Octobre 2012

  3. tatiak

    tatiak XLDnaute Accro

    Inscrit depuis le :
    25 Février 2005
    Messages :
    1973
    "J'aime" reçus :
    295
    Habite à:
    Morbihan
    Page d'accueil :
    Utilise:
    Excel 2016 (PC)
    Bonjour,

    Je ne sais pas si ça existe déjà, mais on peut le créer facilement.
    Il faudrait d'abord avoir une liste des trains avec leurs trajets (et les jours de passage?).
    Après, plutôt que de régler l'épaisseur du trait, il serait peut être plus visuel de colorer les traits en fonction du nb de passages.

    Et de quelle région il est question ici?

    Pierre
     
  4. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    Non je cherche vraiment a faire des flèches d'épaisseur différentes selon les couples Origine Destination mais je pars absolument de 0 avec peu de connaissances en la matière.
     
  5. tatiak

    tatiak XLDnaute Accro

    Inscrit depuis le :
    25 Février 2005
    Messages :
    1973
    "J'aime" reçus :
    295
    Habite à:
    Morbihan
    Page d'accueil :
    Utilise:
    Excel 2016 (PC)
    Ok, si tu veux c'est facile à créer aussi.

    Un exemple ici avec ma région et des données fictives :
    * Une carte de Bretagne (pourquoi habiter ailleurs??)
    * Une liste de gares et de trajets avec un nb de trajets (données fictives)
    * Un bouton pour tracer les trajets, et ici le trait est plus ou moins épais selon le nb de trajet indiqué, et la flèche va du départ vers l'arrivée.
    * Un bouton pour remise à zéro.

    Quelle région et quelles gares pour ton besoin?
    Pierre
     

    Pièces jointes:

  6. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    C'est top!! Juste un truc (je n'ai pas de notions VBA). Comment remplacer les flèches par des lignes.
     
  7. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    La région c est Hauts de Fr.
     
  8. tatiak

    tatiak XLDnaute Accro

    Inscrit depuis le :
    25 Février 2005
    Messages :
    1973
    "J'aime" reçus :
    295
    Habite à:
    Morbihan
    Page d'accueil :
    Utilise:
    Excel 2016 (PC)
    Ok, trop facile.

    Voici donc la carte des Hauts-de-France avec quelques villes.

    Pour ajouter les coordonnées GPS d'une ville, c'est simple :
    * Rechercher la ville sur GoogleMap
    * Dans la barre d'adresse on obtient un truc genre (pour Boulogne) :
    ...google.fr/maps/place/62200+Boulogne-sur-Mer/@50.7303007,1.5711142,13z/data=...
    * le point GPS est après le @ et avant la valeur du z (le zoom),
    * soit pour Boulogne : 50.7303007,1.5711142

    Reste à copier/coller cette valeur vers la liste dans l'onglet "Base" et à remplacer :
    * la virgule par | (Alt_Gr + 6)
    * puis les 2 points par 2 virgules

    Ensuite, on remplis la liste des trajets dans l'onglet "Carte" (attention à l'orthographe des villes)
    On peut même faire figurer des villes proches hors région et hors France (ex Rouen ou Gand )

    Bonne soirée
    Pierre
     

    Pièces jointes:

    Dernière édition: 30 Janvier 2019
  9. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    C'est absolument génial. J'ai un bug en la faisant tourner ça me met ça : Pt = Split(T0(idx, 2), "|") en jaune dans le code suivant:

    Sub Dessin_Traits(Optional x As Byte)
    Dim Crd1 As Coord, Crd2 As Coord, Pt As Variant
    Dim idx As Integer, i As Integer

    For i = 2 To UBound(T1)
    idx = Idx_T2D(T0, CStr(T1(i, 1)), 1)
    Debug.Print idx
    Pt = Split(T0(idx, 2), "|")
    Crd1 = XY(CSng(Pt(0)), CSng(Pt(1)))

    idx = Idx_T2D(T0, CStr(T1(i, 2)), 1)
    Pt = Split(T0(idx, 2), "|")
    Crd2 = XY(CSng(Pt(0)), CSng(Pt(1)))

    Trait Crd1.x, Crd1.y, Crd2.x, Crd2.y, CSng(T1(i, 3)), T1(i, 1) & T1(i, 2)
    Next i
    End Sub

    Ca doit etre un probleme avec les barres verticales

    Merci!!
     
  10. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    En fait c'est bon j'ai compris ça marche parfaitement. Comment je peux régler la taille des traits en revanche?? (ils sont trop gros sur mes valeurs max).
     
  11. tatiak

    tatiak XLDnaute Accro

    Inscrit depuis le :
    25 Février 2005
    Messages :
    1973
    "J'aime" reçus :
    295
    Habite à:
    Morbihan
    Page d'accueil :
    Utilise:
    Excel 2016 (PC)
    Les points GPS doivent être au format "latitude|longitude" en colonne B, soit par exemple pour Boulogne-sur-Mer : 50,7303007|1,5711142
    Valeurs séparées par le signe | (Alt gr + 6)
    Les 2 valeurs étant avec un séparateur décimal identique à celui de la configuration de votre Windows (vérifiez vos paramètres régionaux Windows), pour mon PC c'est une virgule.

    Pour l'épaisseur du trait :
    Dans la procédure "sub Trait", il suffit de diviser l'épaisseur, par exemple :
    .Line.Weight = Wght / 2
    ici divisée par 2, mais on peut mettre tout autre valeur, 1.5 par exemple (dans le code le séparateur décimal est obligatoirement un point) ou 2.5, ...

    Pierre
     
    Dernière édition: 31 Janvier 2019
  12. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    C'est top. Merci bcp. Plus de questions... jusqu'à la prochaine fois haha.
     
  13. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    Si j'ai une question, comment rendre dynamique l'épaisseur des traits (partie de code si dessous) pour que je puisse la taper directement dans la case M1 par exemple ?

    .Line.Weight = Wght / 8
     
  14. tatiak

    tatiak XLDnaute Accro

    Inscrit depuis le :
    25 Février 2005
    Messages :
    1973
    "J'aime" reçus :
    295
    Habite à:
    Morbihan
    Page d'accueil :
    Utilise:
    Excel 2016 (PC)
    On peut effectivement rendre dynamique l'épaisseur des traits avec une simple règle de 3.
    Voir ici dans l'exemple : la valeur maxi correspondra toujours à une épaisseur de 6 et les autre seront proportionnées en conséquence.
    Sans aucune autre intervention.

    Pierre
     

    Pièces jointes:

  15. A1B2C3

    A1B2C3 XLDnaute Nouveau

    Inscrit depuis le :
    29 Septembre 2014
    Messages :
    42
    "J'aime" reçus :
    0
    Bonjour,

    Me revoilà. Comment faire pour rendre dynamique la taille du point ? Je souhaite que la taille du point d'une ville, ex : Lille, soit proportionnelle à une valeur, ex : nombre de voyageurs ou nombre de trains. Est-il possible de rendre ceci dynamique ?

    Bien à vous,

    A1B2C3
     
  16. tatiak

    tatiak XLDnaute Accro

    Inscrit depuis le :
    25 Février 2005
    Messages :
    1973
    "J'aime" reçus :
    295
    Habite à:
    Morbihan
    Page d'accueil :
    Utilise:
    Excel 2016 (PC)
    Facile, en fonction du chiffre inscrit en colonne C (onglet "Base"), on prend le maxi et on ajuste tous les points en fonction de ce maxi avec le code suivant :
    Code (Visual Basic):
    Sub Place_GPS(Optional x As Byte)
    Dim Crd As Coord, Pt As Variant, i As Integer, Diam As Single, Mx As Single

        Mx = Application.Max(Sheets("Base").Range("C:C"))
        For i = 2 To UBound(T0)
            Pt = Split(T0(i, 2), "|")
            Diam = T0(i, 3) / Mx * 50
            If Diam < 4 Then Diam = 4
            Crd = XY(CSng(Pt(0)), CSng(Pt(1)))
            Cercle Crd.x - Diam / 2, Crd.y - Diam / 2, Diam, Diam, CStr(T0(i, 2))
            Txtbx Crd.x, Crd.y, CStr(T0(i, 1))
            Txtbx Crd.x, Crd.y - 9.18, CStr(T0(i, 3))
        Next i
    End Sub
    Et si on veut que le plus gros point soit plus gros, il suffit de modifier la valeur 50 (ligne Diam = T0(i, 3) / Mx * 50)
    Voir fichier joint
    Pierre
     

    Pièces jointes:

    arthour973 aime votre message.

Partager cette page