Organisation de données complexes

Kake -  
 Utilisateur anonyme -
Bonjour,

J'ai de vagues notion de VBA et je n'arrive pas à me sortir de ma propre demande. Je vais la schématiser avec 2 personnes, et avec 3 pièces pour essayer d'être clair.
Je souhaite arriver à retracer le parcours de la personne Y puis de la personne X dans une maison de 3 pièces.
Je connais les mouvements de ces personnes grâce à des logs, mais les réorganiser me prend du temps manuellement.

Nous avons donc la salle A, B et C et les personnes Y et X. Y et X commence de la salle A.
Mes logs sont sous la forme

Salle A
X fait une action
X fait une autre action
X va en salle B
X vient de la salle A
X va en salle B

Salle B
X vient de la salle A
X fait une action
X va en salle C
X vient de la salle A

Salle C
X vient de salle B
X fait une action
X fait plein de choses
X va en salle A

Je souhaite avoir maintenant avoir les actions de X qui soient sous la forme: (Même demande pour Y en fait mais je ne vais pas entremeler les données, je sais déjà les séparer manuellement rapidement :))
Les "va" et "vient" sont strictement de la même forme, la seule variance venant de X ou Y dans notre cas.

X fait une action
X fait une autre action
X va en salle B
X vient de la salle A
X fait une action
X va en salle C
X vient de salle B
X fait une action
X fait plein de choses
X va en salle A
X vient de la salle A
X va en salle B
X vient de la salle A

Quelqu'un a t'il une idée pour arriver à ce résultat? Merci!

1 réponse

Utilisateur anonyme
 
Bonjour Kake,

Pour un exemple de 3 salles A, B et C :

J'ai bien compris que tu veux retracer le parcours de personnes qui sont au départ dans la salle A, puis qui vont dans une des autres salles B et C (avec possibilité de revenir en A).

=========================================

Comme tu t'intéresses seulement au va-et-vient des personnes :

1) On peut ignorer les lignes telles que « X fait telle chose » (une action, une autre action, ou plein de choses).

2) On peut donc s'occuper uniquement des lignes telles que
« X va en salle S » ou « X vient de la salle S »
(S étant A, B, ou C).

=========================================

Prenons une seule personne X (ce serait pareil pour Y ou Z).

Au début, X est en salle A, et quand il va dans une des
2 autres salles ça ne peut être qu'en B ou C.

On va supposer que pour ses 3 premiers mouvements :
X va en salle B, puis en salle C, puis retourne en salle A.

Dans tes logs, ça apparaîtra donc ainsi :

Salle A
X va en salle B
X vient de la salle C

Salle B
X vient de la salle A
X va en salle C

Salle C
X vient de la salle B
X va en salle A

=========================================

Pour faciliter le problème, je te propose 2 changements :

a) D'indiquer devant une ligne un code qui désigne la personne et son numéro de mouvement (sur 2 chiffres, donc une même personne pourra faire au maximum 99 mouvements).

Ainsi, pour le 1er mouvement de X, ce sera X01) ; pour le 12ème mouvement de Y, ce serait Y12).

S'il est possible qu'une personne fasse plus de 99 mouvements, il faudra alors choisir 3 chiffres, pour un maximum de 999 mouvements !

b) Noter le mouvement par 2 lettres, celles de la salle de départ et celle de la salle d'arrivée ; ainsi, si X est en salle A et va en salle B, on notera plus simplement : AB.

Tes logs ci-dessus deviennent donc :

Salle A
X01) AB
X03) CA

Salle B
X01) AB
X02) BC

Salle C
X02) BC
X03) CA

Ainsi :

Le 1er mouvement de X est d'aller de A en B ; ce mouvement est noté de la même façon pour la salle A et la salle B : X01) AB

Le 2ème mouvement de X est d'aller de B en C ; ce mouvement est noté de la même façon pour la salle B et la salle C : X02) BC

Le 3ème mouvement de X est d'aller de C en A ; ce mouvement est noté de la même façon pour la salle C et la salle A : X03) CA

=========================================

Enfin, tu pourrais faire ce tableau très simple des Mouvements :

N° MVT     X     Y     Z
     01      AB
     02      BC
     03      CA
     04
     05
     06
     07
     08
     09
     10
     11
     12

avec un maximum de 99 lignes (puisque 99 mouvements maxi),
et autant de colonnes que de personnes.
0