Tracé de segments

knaekes

XLDnaute Occasionnel
Bonjour, et bonne année 2010 !

A partir d'un tableau d'horaires je souhaiterais 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 orginie (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 cela est possible je souhaitererais faire apparaître les horaires des arrêts intermédiaires.

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

Etant donné que je ne peux afficher que 256 colonnes (excel 2003), le déroulé de 04:00 à 24:00 devra s'effectuer en 5 Parties.

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?

Ci joint un exemple de tableau d'horaires accompagné de sa représentation sous forme de graphicage (je n'ai représenté sur le graphe, que quelques segments représentatif)

Merci d'avance pour votre aide :)
 
Dernière édition:

knaekes

XLDnaute Occasionnel
Re : Graphicage - tracer de segments

Merci le code fonctionne !

Je l'emploi afin de compter le nombre d'arrêts sur un trajet.

En parcourant les colonnes j'ai créé une liste des km cumulés (à chaque arrêt). Il ne me manquait plus qu'à supprimer les doublons pour afficher le bon nombre d'arrêts.

J'ai ainsi pu compléter les tableaux situés en dessous de la grille d'entrée (feuill1).
 

knaekes

XLDnaute Occasionnel
Re : Graphicage - tracer de segments

bonjour,

j'essaye de prendre en compte dans le code un 2ieme tableau de couleurs qui cette fois-ci sera indexé sur un deuxième paramètres (ex: roulement) (voir les grilles 'entrées'). Pour l'instant je n'y parviens toujours pas. J'aimerai donc savoir si il est possible d'indicer les procédures et fonctions:

ex lacouleur{z} avec z=1 ou z=2 selon le choix que l'on fait

Ceci est-il réalisable (de manière pas trop complexe) ou non?

L'étape d'après serait est de choisir quelles couleurs sont tracées.

Merci
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Graphicage - tracer de segments

Re

J'avoue t'avoir un peu laissé choir au profit d'un autre probleme egalement interessant
Néanmoins j'ai un peu reflechi a la question du tri
2 methodes possibles
1) ne tracer que les trajets choisis
2) effacer (ou plutot rendre invisible ) les trajets non choisis
Peux-tu opter pour l'une ou l'autre de ces methodes et me preciser comment tu penses definir les trajets a choisir ( je suppose par cases a cocher mais un userform est possible ) et a quel moment tu envisages de declancher le tracé (ou la disparition)
 

knaekes

XLDnaute Occasionnel
Re : Graphicage - tracer de segments

Cela m'a laissé le temps de finir d'écrire des macro qui me sont utiles. Bien que celles-ci soient moins complexes, je me suis inspiré de certains passages de ton code. Notamment l'utilisation de "tablo() lorsque l'on souhaite stocker des données.

Concernant la suite de la construction du code dont il est içi question: Je souhaite faire évoluer 2 aspects:

1. La configuration des tracés, selon les options cochées
2. L'affichage sur la feuille excel d'un récapitulatif de la configuration

Le fichier word joint reprend mon point de vue sur la question ... "reste" à le traduire en instructions VBA.

Le fichier excel contient le Userform

N'hésites pas à me signaler si certains points que j'évoque nécessitent plus de précisions

Merci
 

Pièces jointes

  • userform.xls
    34.5 KB · Affichages: 82
  • userform.xls
    34.5 KB · Affichages: 86
  • userform.xls
    34.5 KB · Affichages: 88
  • Tracer des segments selon la configuration choisie.zip
    22 bytes · Affichages: 49
  • Tracer des segments selon la configuration choisie.zip
    22 bytes · Affichages: 55
  • Tracer des segments selon la configuration choisie.zip
    22 bytes · Affichages: 56

knaekes

XLDnaute Occasionnel
Re : Graphicage - tracer de segments

Désole pour ma maladresse ... voici les fichiers manquant:

- fichier word: présentation de mon point de vue sur la problématique
- fichier excel: graphe+userform

Merci
 

Pièces jointes

  • Tracer des segments selon la configuration choisie.zip
    8.3 KB · Affichages: 70
  • Tracer des segments selon la configuration choisie.zip
    8.3 KB · Affichages: 68
  • Tracer des segments selon la configuration choisie.zip
    8.3 KB · Affichages: 60
  • Graphicage_v120_b -.zip
    42.6 KB · Affichages: 57
  • Graphicage_v120_b -.zip
    42.6 KB · Affichages: 61
  • Graphicage_v120_b -.zip
    42.6 KB · Affichages: 64

pierrejean

XLDnaute Barbatruc
Re : Graphicage - tracer de segments

Re

Voici une premiere etude avec l'userform
Le tri et les couleurs sont en principe traités et a controler
Pour l'affichage de la legende des couleurs je verrais dans un 2eme temps
 

Pièces jointes

  • Graphicage_v120_b -.zip
    60.6 KB · Affichages: 85
  • Graphicage_v120_b -.zip
    60.6 KB · Affichages: 85
  • Graphicage_v120_b -.zip
    60.6 KB · Affichages: 90

knaekes

XLDnaute Occasionnel
Re : Graphicage - tracer de segments

J'ai rapidement testé ton code, et sans surprises celui-ci fonctionne très bien.

J'ai toutefois remarqué certains bug (le code s'arrête au niveau de la procédure d'effacement). Mais ces bugs ne sont pas systématiques, je n'ai pour l'instant pas déterminé la configuration qui fait bugger le programme. Cependant ceci n'est pas un problème majeur car après avoir réouvert le dossier cela fonctionne.

je retesterai le code un peu plus tard et te tiendrai au courant.

une fois de plus un grand Merci à toi.
 

knaekes

XLDnaute Occasionnel
Re : Tracé de segments

Bonjour,

Après adaptation, et mise en forme du code précédent, je souhaiterais apporter quelques améliorations à la feuille excel. Voici celles que je ne parviens pas à réaliser pour l'instant:

1 . ajout d'une cas à cocher qui permet de cocher toutes les cases de la série concernée (voir userform)

2. ajout d'une case, qui lorsque l'on la coche permet de tracer en gris les segments non concernés par les cases cochées au dessus. Pour le moment seul les segments dont aucune information figure dans la grille d'entrée sont tracés en gris.

3. ajout d'un paramètre "ligne" (voir feuille d'entrée)
ajout dans le userform de zones de texte dans lesquelles je souhaite faire figurer le nom de chacune des "lignes". J'imagine faisable de parcourir la ligne "ligne" et que pour chaque nom différent rencontré de remplir une zone de texte distinct.

Chaque zone de texte est associée à une case à cocher. Je souhaite que seul les segments des cases "ligne" cochées soit tracés. Une case "tout selectionner" permettra de selectionner l'ensemble des lignes. Si aucune "ligne" n'est indiquée dans la grille d'entrée alors tracer le segment (ou case ligne est "vide" alors enregistrer "vide" dans la zone de texte et dans ce cas toujours cocher la case associée à la zone de texte "vide".

4. Si cela est réalisable, je souhaite créer un bouton qui permet de garder en mémoire la configuration (coché ou pas) (de ensemble des cases du userform ainsi que de liste déroulantes) et d'en restituer l'état lorsque la case associée au boutton est activée (ceci en cours d'utilisation du code ou après redémarrage du code)

5. J'ai ajouté deux listes déroulantes qui proposent les noms des onglets. Comment faire pour lorsque l'on selectionne un onglet dans la liste Aller et Retour que ce soit ceux-là qui soient pris en compte dans la procédure. [set f= ("la feuille selectionneé")].


Merci par avance pour l'aide
 

Pièces jointes

  • essai 3.zip
    48.1 KB · Affichages: 52
  • essai 3.zip
    48.1 KB · Affichages: 56
  • essai 3.zip
    48.1 KB · Affichages: 56

knaekes

XLDnaute Occasionnel
Re : Tracé de segments

J'ai résolu le point 1. par :

Code:
Private Sub CheckBox57_Change()
    Dim n As Byte
    If CheckBox57 = True Then
    CheckBox58 = False
        For n = 62 To 71
        Controls("CheckBox" & n) = True
        Next n
    End If
End Sub


pour le reste je suis un peu plus en galère ...
 
Dernière édition:

knaekes

XLDnaute Occasionnel
Re : Tracé de segments

S'agissant du point 3. j'ai résolu la première partie

J'ai joint le fichier excel qui reprend le userform. Toutefois pour une raison j'ignore encore celui-ci ne permet pas de tracer les traits (pourtant j'y parviens dans un autre fichier).

si vous avez des pistes à me proposer pour régler les points 2,3,5 et 4, merci par avance de m'en faire part.
 

Pièces jointes

  • essai 5.zip
    48.2 KB · Affichages: 62
  • essai 5.zip
    48.2 KB · Affichages: 57
  • essai 5.zip
    48.2 KB · Affichages: 58

knaekes

XLDnaute Occasionnel
Re : Tracé de segments

Finalement je suis parvenu à résoudre les points que je souhaitais

Cependant j'aimerais à présent pouvoir choisir la couleur de chaque tracé. Pour cela j'ai ajouté une liste de couleur, à laquelle j'associe des codes couleurs RGB (voir bas feuille "graphe")

j'ai essayé de parcourir ce tableau
- dès que la couleur correspond à celle affichée dans la combobox
- alors lire le code RVB et le placer dans le tableau des couleurs

Malheureusement, par la suite je ne suis pas parvenu à exécuter le tracé.

Auriez-vous une piste à me proposer?

Merci d'avance
 

Pièces jointes

  • essai 100.zip
    45.2 KB · Affichages: 62
  • essai 100.zip
    45.2 KB · Affichages: 63
  • essai 100.zip
    45.2 KB · Affichages: 65

knaekes

XLDnaute Occasionnel
Re : Tracé de segments

la couleur du tracé est celle que l'on choisi dans les combobox situées en vis-à-vis des optionbutton. Ainsi à chaque optionbutton on attribue une couleur.

Les éléments listés dans les combobox sont situés dans la feuille "graphique" en dessous de la derniere section (voir colonne D), les codes RGB associés sonts situés dans la colonne J.

Ce que j'ai essayé de faire (cela n'a pas fonctionné)

- dans le module3 j'ai remplacé les codes RGB par des variables (ex:couleur1, couleur2, couleur3 ...)
- pour la premiere combobox du userform j'ai parcouru la colonne "nom des couleurs (colonne D feuill graphe)"
- lorsque le texte de la combobox est identique à celui de la colonne D alors j'ai assocé à la variable couleur1= contenu de la cellule en colonnJ (code RGB)
- Ainsi dans le tableau des couleur je visais à obtenir couleur1=code RGB associé à la combobox1
- Or lors de l'exécution de la macro le code s'arrête au niveu de la variable "coul" et affiche erreur de format ("RGB(0,255,255)")

Mon impression est que la variable couleur1 nest pos remplacée par le code RGB mais par une chaine de caractères "RGB(0,255,255)"

Voilà où j'en suis à présent, si toutefois je n'ai pas été assez précis dans l'explication, n'hésites vraiment pas à me le faire remarquer (je tacherai d'y remédier)

merci
 
Dernière édition:

Statistiques des forums

Discussions
314 051
Messages
2 105 057
Membres
109 242
dernier inscrit
zaboul2