Algorithme arbre généalogique indenté

Signaler
Messages postés
2
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 mai 2012
-
Messages postés
2
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 mai 2012
-
Bonjour,

Je souhaite réaliser une représentation sous Excel 2003 de ma généalogie style "arbre indenté" et je galère pour trouver l'algorithme. Si quelqu'un pouvait m'apporter son aide. Merci d'avance.

Liste de départ :
1 DUPONT Jean
2 DUPONT Robert
3 NOLLEAU Marie
4 DUPONT Pierre
5 GUILLOTON Alphonsine
6 NOLLEAU Charles
7 LAURENSOT Juliette
8 DUPONT François
9 DURAND Julie
10 GUILLOTON Jean-Baptiste
11 MATRAIT Jeanne
12 NOLLEAU Henri
13 DIMEAUT Marie
14 LAURENSOT Théodore
15 ROBIN Marie

Arbre indenté que je souhaite réaliser :
1 DUPONT Jean
2 DUPONT Robert
4 DUPONT Pierre
8 DUPONT François
9 DURAND Julie
5 GUILLOTON Alphonsine
10 GUILLOTON Jean-Baptiste
11 MATRAIT Jeanne
3 NOLLEAU Marie
6 NOLLEAU Charles
12 NOLLEAU Henri
13 DIMEAUT Marie
7 LAURENSOT Juliette
14 LAURENSOT Théodore
15 ROBIN Marie

2 réponses

Messages postés
2
Date d'inscription
lundi 21 février 2005
Statut
Membre
Dernière intervention
18 mai 2012
1
Merci pour ta réponse banana32, je connaissait cette méthode, mais elle s'applique à la représentation d'une généalogie descendante, alors que je souhaite représenter la généalogie ascendante directe de mon fils (sur 13 générations soit près d'un millier de personnes).
Le tableau que je souhaite réaliser à partir de la liste intiale avec un bout de code VBA est le suivant :
1 DUPONT Jean
--2 DUPONT Robert (père de 1)
----4 DUPONT Pierre (père de 2)
------8 DUPONT François (père de 4)
------9 DURAND Julie (mère de 4)
----5 GUILLOTON Alphonsine (mère de 2)etc...
------10 GUILLOTON Jean-Baptiste
------11 MATRAIT Jeanne
--3 NOLLEAU Marie
----6 NOLLEAU Charles
------12 NOLLEAU Henri
------13 DIMEAUT Marie
----7 LAURENSOT Juliette
------14 LAURENSOT Théodore
------15 ROBIN Marie

Si quelqu'un a une idée de l'algorithme, je bloque.
Merci d'avance.

Bonsoir,

Pour classer les personnes dans ma famille, j'utilise le classement alphabétique d'une série de lettres dans un champ de la base de données.
On ajoute une lettre à chaque génération.
La personne de la branche directe (fils fille du même nom) porte toujours la lettre a en fin de chaîne.
Son époux ou épouse (autre famille) prend la lettre b
Leur premier enfant prendra un c puis on rajoute un a juste après pour la nouvelle génération.
Le deuxieme enfant aura un d puis on rajoute un a pour la génération suivante ... ainsi de suite.
Dans mon arbre, je suis classé "hfa" (ma mère "ha" était le 6eme enfant d'où le h, son père est noté "a" (racine de l'arbre)), j'étais le 4ème enfant de ma famille d'où le f) et comme je commence une génération, la dernière lettre est un a.
Ma femme "hfb", mon fils "hfca", sa femme aura "hfcb" et s'il a plus tard une première fille ce sera "hfcca" et si lui vient un deuxieme enfant ce sera "hfcda"
Note: Il y aura un sacré bug dans l'algorithme si mon fils avait plus de 23 enfants (assez rare quand même dans les familles)

Un simple tri ordonne la base de données par familles et l'indentation des générations est réalisée en fonction du nombre de lettres dans la chaîne obtenue pour l'individu.

Bon c'est ma façon de faire, tu peux parfaitement trouver ta propre méthode