IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

tracé de segments - graphicage


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut tracé de segments - graphicage
    Bonjour,

    A partir d'un tableau d'horaires je souhaite représenter des dessertes ferroviaires sous forme de segments (=graphicage).

    Je souhaite afficher ces segments, dans un repère reprenant en ordonnée les distances entre les différents arrêts et en abscisse les horaires de desserte (de 04:00 à 24:00).

    Le segment aura pour origine (gare de départ/horaire de départ) et s'arrêtera au point de coordonnée (gare d'arrivée/horaired'arrivée).
    Si le train marque un arrêt intermédiaire à un horaire connu, la droite passera par ce point. Dans le cas où l'on ne connais pas l'horaire d'arrêt seul un point devra matérialiser l'arrêt.

    Selon le type de desserte (T, SD, O, G) le segment représentant la desserte sera de couleur correspondante.

    Je n'ai pour l'instant trouvé aucune application sous excel permettant d'extraire des segments dans un repère à partir d'un tableau de valeurs.

    Avez-vous des pistes à me conseiller?

    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Voila un petit bout de code fait sur le pouce, il te montre comment tracer une ligne via du VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 17/01/2010 par Qwazerty
    '
     
    '
    Dim P1x As Integer, P1y As Integer 'cooredonné du point de départ de la ligne
    Dim P2x As Integer, P2y As Integer 'coordonnée du point d'arrivé de la ligne
    Dim SheetTab As Worksheet
     
    'Initialisation
    Set SheetTab = Sheets("Graphicage")
     
    With SheetTab.Range("I1")
        P1x = .Left
        P1y = .Top + .Height
    End With
     
    With SheetTab.Range("Y11")
        P2x = .Left
        P2y = .Top + .Height
    End With
     
    'On trace a la ligne
    With SheetTab.Shapes.AddLine(P1x, P1y, P2x, P2y).Line
        .ForeColor.RGB = RGB(255, 0, 0)
        .Weight = 2
    End With
     
    End Sub
    Si tu veux mon avis, il te faut déjà structurer par écrit ce que tu veux réaliser. Tu dois prendre en compte comment est organisé ton fichier (ex: une colonne représente 2min -> te donne donc en fonction d'un délai le décalage en nombre de colonne).
    Ce n'est qu'une piste bien sur, fais des recherche sur les boucle en vba, elle te permettront de contrôler les valeur contenue dans tes colonnes, dans Sens GareA - GareU par exemple, tu "scan" ta colonne Z de 1 à 23, la cellule Z1 te donne la couleur du trait (a mettre dans une variable pour une utilisation ultérieur).
    Ensuite a la 1ere horaire rencontrée, tu en déduis la position du point de départ de ta ligne dans ton tableau (calcule du x a l'aide de l'horaire inscrite dans la cellule Z3, calcule de y grâce au contenu de la cellule A3 (même ligne que Z3 mais colonne A - regarde du coté de "Offset" dans l'aide)), tu continues le scan, à l'horaire suivante, tu en déduis la position d'arrivée de ta ligne.
    Par la suite le point d'arrivé, devient le point de départ et ainsi de suite.

    Voila comment je procèderais.
    Bon courage
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut
    Merci, pour tout ces conseils !

    Je vais essayer de construire la structure de programme que tu me propose, et j'vous tiens au courant dès que je parviens à des premiers résultats.

Discussions similaires

  1. Tracé de segments
    Par DiR95 dans le forum GLUT
    Réponses: 1
    Dernier message: 29/10/2014, 18h39
  2. tracé de segments sur une grille
    Par nouriy dans le forum MATLAB
    Réponses: 17
    Dernier message: 02/10/2014, 13h11
  3. Réponses: 0
    Dernier message: 12/05/2011, 22h53
  4. Tracé de segment dans Tkinter
    Par annoying dans le forum Tkinter
    Réponses: 3
    Dernier message: 07/05/2011, 21h30
  5. [Débutant] [plot] Segments de graphique manquant sur certains tracés
    Par pouquito dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/11/2009, 07h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo