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

  1. 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