Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Réseau train

42 réponses
Avatar
Guy72
Bonjour
Après 42années de travail, j'ai décidé de faire un réseau de train en
modélisme.
J'ai fait un plan avec un logiciel de dessin.
Je suis entrain de le faire sur Excel pour simuler les "itinéraires".
J'arrive à mettre de la couleur dans les cellules concernées avec la MFC.
Mais au dessus de 3 "itinéraires" Waloo je ne peut plus.
Quelqu'un peut-il me donner une solution pour pouvoir faire une vingtaines
d"itinéraires".
Merci de vôtre aide.
http://cjoint.com/?fAtMUS6QO4
Cordialement
Guy

10 réponses

1 2 3 4 5
Avatar
Guy72
Salut Patrick
Excuse-moi, je reviens à la charge.
Le dessin à main levée (même sans être Parkinsonien), c'est pas évident.
Je réfléchissait sur ( donner un nom à un groupe de flèche).
Si c'était possible, ça limiterait beaucoup le nombre de noms dans le code.
Cordialement
Guy

"Patrick BASTARD" a écrit dans le
message de news:
Bonjour, *Guy72*

Est il possible de simplifier ce code en remplaçant "Line 1", "Line
2..........."Line 7".
Vue que les chiffres se suive


Pas à ma connaissance, puisque les numéros des lignes dépendent de l'ordre
dans lesquelles tu les crées, et que celles-ci peuvent être communes à
plusieurs circuits.

Un autre souci est que, même si les numéros se suivent, l'ensemble ne
comporte pas tous les numéros : Exemple pour l'itinéraire 1 qui comprend
les lignes n° 18, 23 à 24, 28, 62, 92 à 104

Une solution serait de limiter le nombre de lignes (pourquoi pas faire un
circuit complet à main levée (Parkinsonien, s'abstenir...) ou avec l'outil
de dessin connecteurs.

Autre solution, mais que je ne maîtrise pas : regrouper les lignes d'un
circuit et affecter un nom à cet ensemble, nom qui serait repris dans tes
macros.
Mais il faudra quand même, au moins une fois, définir les noms avec toutes
les références des lignes.

Pense aussi à l'évolution de ton circuit (nouvelle voie, changement de
position d'un aiguillage...)
C'est pour cette raison que j'ai choisi un saut de ligne par dizaine dans
les codes (plus facile à modifier).


--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour Patrick
Est il possible de simplifier ce code en remplaçant "Line 1", "Line
2..........."Line 7".
Vue que les chiffres se suive ?
ActiveSheet.Shapes.Range(Array( _
"Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line
7" _ , "Line 62" _
, "Line 92", "Line 93", "Line 94", "Line 95", "Line 96", "Line 97",
"Line 98", "Line 99" _
, "Line 100", "Line 101", "Line 102", "Line 103", "Line 104" _
)).Select
Cordialement
Guy

"Patrick BASTARD" a écrit dans le
message de news:

Ou plutôt :

Sub RAZ()

For Each s In ActiveSheet.Shapes
If s.Type = 9 Then
s.Line.Weight = 0.75
s.Line.ForeColor.SchemeColor = 64
End If
Next
End Sub

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.



Bonjour, *Guy72*

Quelque chose qui ressemblerait (vaguement*) à celà, pour remplacer
la sub RAZ():
'*************************************************************
Sub RAZ()
On Error Resume Next
For i = 1 To 200
Fref = ActiveSheet.Shapes.Range("Line " & i)
ShapeRange.line.Weight = 0.75
ShapeRange.line.ForeColor.SchemeColor = 64
Next i
End Sub
'*************************************************************
*Vaguement, car je n'arrive pas à le formuler correctement, désolé.
Modeste, si tu nous écoutes ...


Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Re
Est-il possible de faire Raz pour toutes les flèches (sans toutes
les nommer) ?
Car il faudra toutes les nommer et il y en aura au moins 100.
Cordialement
Guy

"Patrick BASTARD" a écrit dans
le message de news: %23QXJh$
Bonjour, *Guy72*
Il me semble bien compliqué de colorier les bordures de tes
cellules, notamment pour les aiguillages.
Par contre, peut-être peux-tu colorier les flèches correspondant
aux itinéraires :
Exemple pour l'itinéraire 1:

http://cjoint.com/?fBnlpN5A3H

Qu'en penses-tu ?

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour Modeste
Oui effectivement je connais ce logiciel et bien d'autres à ce
sujet. Mais comme j'aime beaucoup travailler sur Excel je
voudrais représenter les itinéraires visuellement pour faire les
liaisons électriques. C'est vrais que cela peut-être l'usine à
gaz. Je vais quand même essayer rein que pour me servir d'Excel.
Merci de ton avis
Cordialement
Guy

"Modeste" a écrit dans le message de news:
euXxB$
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

Après 42années de travail, j'ai décidé de faire un réseau de
train en modélisme.
J'ai fait un plan avec un logiciel de dessin.
Je suis entrain de le faire sur Excel pour simuler les
"itinéraires".




J'ai bien peur que cela tourne à l'usine à gaz....
je me suis moi-même lancé dans une gestion graphique par section
cela necessite la mise en table de tous les elements individuels
(longueur, rayon, orientation)
donc l'utilisation d'éléments standard ( pas de rail flexible,
ni d'élément raccourcis)

la représentation graphique (EXCEL) devient une horreur au-dela
de 20 sections (tailles, couleurs, etiquettes)

je te conseillerai, si tu ne le connais pas déja ce petit
programme gratos qui fait ce que tu souhaites, avec gestion des
itinéraires et simulation dynamique
voir là :
http://bahnvf.de/
../..
toutes les voies ainsi que toutes les circulations peuvent être
reproduites. Il est possible d'introduire des itinéraires et des
horaires complets, de diviser ou former des rames - il existe
des simulations de gares de triage où les trains sont divisés
de façon aléatoire et reformés ensuite - de créer des
circulations sur voie unique avec signalisation de sécurité et
même d'introduire une signalisation aux carrefours... ../..

ensuite il y a aussi de Microsoft Train Simulator ...

--
--
@+
;o)))





















Avatar
Francois L
Bonjour Patrick
Est il possible de simplifier ce code en remplaçant "Line 1", "Line
2..........."Line 7".
Vue que les chiffres se suive ?
ActiveSheet.Shapes.Range(Array( _
"Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line 7" _
, "Line 62" _
, "Line 92", "Line 93", "Line 94", "Line 95", "Line 96", "Line 97",
"Line 98", "Line 99" _
, "Line 100", "Line 101", "Line 102", "Line 103", "Line 104" _
)).Select


Bonsoir Guy,

Si cela peut t'aider, ce genre de procédure fonctionne bien :

Sub zaza()
With ActiveSheet
For i = 1 To 3
.Shapes("Line " & i).Select
With Selection
.ShapeRange.Line.ForeColor.SchemeColor = 10
End With
Next
For i = 4 To 6
.Shapes("Line " & i).Select
With Selection
.ShapeRange.Line.ForeColor.SchemeColor = 16
End With
Next
For i = 7 To 9
.Shapes("Line " & i).Select
With Selection
.ShapeRange.Line.ForeColor.SchemeColor = 12
End With
Next
End With
End Sub

--
François L
qui a de la compassion pour les amoureux des trains à cause de son grand
frère...

Avatar
Guy72
Salut François
C'est une solution qui peut m'intéresser, peut on ajouter la grosseur de la
Line ?
Cordialement
Guy

"Francois L" a écrit dans le message de news:

Bonjour Patrick
Est il possible de simplifier ce code en remplaçant "Line 1", "Line
2..........."Line 7".
Vue que les chiffres se suive ?
ActiveSheet.Shapes.Range(Array( _
"Line 1", "Line 2", "Line 3", "Line 4", "Line 5", "Line 6", "Line 7"
_
, "Line 62" _
, "Line 92", "Line 93", "Line 94", "Line 95", "Line 96", "Line 97",
"Line 98", "Line 99" _
, "Line 100", "Line 101", "Line 102", "Line 103", "Line 104" _
)).Select


Bonsoir Guy,

Si cela peut t'aider, ce genre de procédure fonctionne bien :

Sub zaza()
With ActiveSheet
For i = 1 To 3
.Shapes("Line " & i).Select
With Selection
.ShapeRange.Line.ForeColor.SchemeColor = 10
End With
Next
For i = 4 To 6
.Shapes("Line " & i).Select
With Selection
.ShapeRange.Line.ForeColor.SchemeColor = 16
End With
Next
For i = 7 To 9
.Shapes("Line " & i).Select
With Selection
.ShapeRange.Line.ForeColor.SchemeColor = 12
End With
Next
End With
End Sub

--
François L
qui a de la compassion pour les amoureux des trains à cause de son grand
frère...



Avatar
Francois L
Salut François
C'est une solution qui peut m'intéresser, peut on ajouter la grosseur de la
Line ?


Re Guy,

Oui bien sur,
par exemple

Sub zazabis()
With ActiveSheet
For i = 1 To 3
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 10
.Weight = 1.5
End With
Next
For i = 4 To 6
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 16
.Weight = 2
End With
Next
For i = 7 To 9
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 12
.Weight = 3
End With
Next
End With
End Sub

--
François L

Avatar
Guy72
Merci François.
Bonne soirée.
Cordialement
Guy

"Francois L" a écrit dans le message de news:

Salut François
C'est une solution qui peut m'intéresser, peut on ajouter la grosseur de
la Line ?


Re Guy,

Oui bien sur,
par exemple

Sub zazabis()
With ActiveSheet
For i = 1 To 3
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 10
.Weight = 1.5
End With
Next
For i = 4 To 6
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 16
.Weight = 2
End With
Next
For i = 7 To 9
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 12
.Weight = 3
End With
Next
End With
End Sub

--
François L



Avatar
Guy72
re Bonsoir
Est-il possible de faire la formule suivante (Faite à ma manière de
néophyte, elle ne fonctionne pas mais c'est le principe qui m'intéresse).
Sub Itineraire2()
With ActiveSheet
For i = 1 To 6
For i = 17 To 37
For i = 44 To 48
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 4
.Weight = 4
Next
End With
End Sub

--
Cordialement
Guy
"Francois L" a écrit dans le message de news:

Salut François
C'est une solution qui peut m'intéresser, peut on ajouter la grosseur de
la Line ?


Re Guy,

Oui bien sur,
par exemple

Sub zazabis()
With ActiveSheet
For i = 1 To 3
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 10
.Weight = 1.5
End With
Next
For i = 4 To 6
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 16
.Weight = 2
End With
Next
For i = 7 To 9
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 12
.Weight = 3
End With
Next
End With
End Sub

--
François L



Avatar
Francois L
re Bonsoir
Est-il possible de faire la formule suivante (Faite à ma manière de
néophyte, elle ne fonctionne pas mais c'est le principe qui m'intéresse).
Sub Itineraire2()
With ActiveSheet
For i = 1 To 6
For i = 17 To 37
For i = 44 To 48
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 4
.Weight = 4
Next
End With
End Sub



Re,

1 Pour chaque For... il doit y avoir un Next
2 Pour chaque With... il doit y avoir un End With

donc... il faut que tu reprennes une structure qui ressemble à ce que je
t'ai proposé, tu peux, par exemple, écrire :

Public i As Integer
Sub zazater()
For i = 1 To 3
Call couleur
Next
For i = 4 To 6
Call couleur
Next
For i = 7 To 9
Call couleur
Next
End Sub
Private Sub couleur()
ActiveSheet.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 6
.Weight = 2
End With
End Sub

--
François L

Avatar
Modeste
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Est-il possible de faire la formule suivante (Faite à ma manière de
néophyte, elle ne fonctionne pas mais c'est le principe qui m'intéresse).
Sub Itineraire2()
With ActiveSheet
For i = 1 To 6
For i = 17 To 37
For i = 44 To 48
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 4
.Weight = 4
Next
End With
End Sub


pour le principe j'ai compris pour la réalisation ce sera :

Sub Itineraire2()
For i = 1 To 6
call Mise_en_couleurs (i)
Next
'------------------
For i = 17 To 37
call Mise_en_couleurs (i)
Next
'-----------------
For i = 44 To 48
call Mise_en_couleurs (i)
Next
End sub
'======= procédure de mise en couleur ===== Sub Mise_en_couleurs(itineraire as integer)
With ActiveSheet
.Shapes("Line " & itineraire).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 4
.Weight = 4
End With
End Sub
--
--
@+
;o)))

Avatar
Francois L
re Bonsoir (...)


Re, re

Au fait, tu connais çà ?
http://archibase.net/archinews/14281.html

--
François L

Avatar
Guy72
Bonsoir à tous

Je vous remercie « Patrick, François, Modeste » et les autres.

Ma petite affaire à drôlement avancée grâce à vous, je vais arrêter pour ce
soir et étudier ça demain de bonne heure.

Bonne nuit et merci encore.

Cordialement
Guy

"Modeste" a écrit dans le message de news:

Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Est-il possible de faire la formule suivante (Faite à ma manière de
néophyte, elle ne fonctionne pas mais c'est le principe qui m'intéresse).
Sub Itineraire2()
With ActiveSheet
For i = 1 To 6
For i = 17 To 37
For i = 44 To 48
.Shapes("Line " & i).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 4
.Weight = 4
Next
End With
End Sub


pour le principe j'ai compris pour la réalisation ce sera :

Sub Itineraire2()
For i = 1 To 6
call Mise_en_couleurs (i)
Next
'------------------
For i = 17 To 37
call Mise_en_couleurs (i)
Next
'-----------------
For i = 44 To 48
call Mise_en_couleurs (i)
Next
End sub
'======= procédure de mise en couleur ===== > Sub Mise_en_couleurs(itineraire as integer)
With ActiveSheet
.Shapes("Line " & itineraire).Select
With Selection.ShapeRange.Line
.ForeColor.SchemeColor = 4
.Weight = 4
End With
End Sub
--
--
@+
;o)))





1 2 3 4 5