Microsoft 365 Fichier de donnée avec masque de saisie pour généalogie

Lucky1357

XLDnaute Junior
Bonjour,
Y aurait-il quelqu'un qui aurait la gentillesse de m'aider à trouver la solution à mon problème, j'ai un masque de saisie pour rentrer des noms pour ma généalogie, je recherche comment faire pour relier les noms des parents, enfants, petits enfants sans devoir les rentrer deux fois et faire des doublons.

Si je note le père Antoine 1660-1732, le fils Jean joseph 1697-1849, je suis obligé de reprendre le Jean-Joseph pour le mettre dans la rangée père et mettre et son fils Jean-François Xavier dans la rangée fils et ainsi de suite, ce qui me crée des doublons et des écritures supplémentaires que je voudrais éviter

Je remercie d'avance tous les membres du forum

Lucky1357
 

Pièces jointes

  • frmGénéalogie.xlsm
    731 KB · Affichages: 29

p56

XLDnaute Occasionnel
Bonjour,

Pour ce faire, pour les données il est possible d'utiliser un modèle relationnel.
En effet : tout le monde a une mère et un père (connu ou non). Donc avec une numérotation simple on peut relier dans une même liste un enfant à ses 2 parents, sans redondance d'info.

Voici un exemple simplet de structure de données avec quelques membres de la famille royale UK (données publiques Wikipédia) :
Capture d’écran 2023-12-07 173424.jpg

Chaque fiche (ligne) est numérotée en A, en B on trouve le n°ID du père et en C l'ID de la mère (si présent dans la base). Avec cette structure, pas de répétition d'info :
* on a Charles (1 fiche) et Diana (1 fiche) qu'il est facile de relier à leurs 2 fils William et Harry (1 fiche chacun)
* on relie facilement Diana et ses 2 parents,
* on relie également Elisabeth II à son fils Charles, toujours sans aucune répétition.

Pour plus d'info sur ce type de structure, il suffit de taper "données relationnelles" dans votre navigateur.

Bonnes suites pour votre projet
P.
 

Lucky1357

XLDnaute Junior
p56
Je te remercie pour ta réponse, mais avec mon masque de saisie 90 lignes, je ne vois pas comment je peux gérer les colonnes, c'est pour cela que j'aurais voulu avoir les codes vba d'enfant à père et grand-père.

Merci pour ton aide et bonne journée
 

p56

XLDnaute Occasionnel
Bonjour,

Et bien peut être qu'il faut aussi redessiner l'interface.
En utilisant la structure décrite au #2, il est possible de dessiner une interface avec vue sur une personne + ses parents + ses enfants. Et avec quelques clics on navigue de génération en génération.
Le tout sans aucune redondance d'info, et avec du code assez sommaire.
Démo_Genea.gif

Mais c'est peut être trop simple pour vous.
Chacun fait comme il veut.
P.
 

Lucky1357

XLDnaute Junior
Bonjour,

Et bien peut être qu'il faut aussi redessiner l'interface.
En utilisant la structure décrite au #2, il est possible de dessiner une interface avec vue sur une personne + ses parents + ses enfants. Et avec quelques clics on navigue de génération en génération.
Le tout sans aucune redondance d'info, et avec du code assez sommaire.
Regarde la pièce jointe 1185739
Mais c'est peut être trop simple pour vous.
Chacun fait comme il veut.
P.
 

Lucky1357

XLDnaute Junior
Bonjour p56

Oui là, c'est exactement ce que je voudrais, moi avec mon code, j'ai fait trop complique et maintenant, je n'arrive à m'en sortir, si tu pouvais me mettre en téléchargement ton code, ce serait super sympa de ta part
en tout cas, je te remercie pour ton aide.

bonne journée

Lucky1357
 

p56

XLDnaute Occasionnel
Bonjour,

Alors voici mon fichier nettoyé propre (ou à peu près)

Pour la 1ère saisie, l'ouverture de l'userform se fait en cliquant sur l'entête du tableau structuré principal. Ensuite un clic sur une ligne de données suffit.

Il y a 2 tableaux structurés, un pour pour les infos de chaque membre de la généalogie, l'autre (à droite) pour les unions diverses de chacun.
Cette structure permet une relation "plusieurs à plusieurs" unions entre les membres. Ainsi dans l'exemple des Tudor Henri VIII a eu 6 épouses, et Catherine Parr a eu 4 maris (seuls 2 sont saisis dans l'exemple). Et bien sûr une relation "un à plusieurs" pour un membre et ses enfants.
La structure permet aussi les "familles recomposées"

Voici quelques images animées pour montrer l'utilisation =>
Démo_Tudor1.gif

Démo_Tudor2.gif

Démo_Tudor3.gif

Démo_Tudor4.gif

Démo_Tudor5.gif

Fichiers joints : "l'exemple Tudor", un vide de données
Les entêtes "Info1" à "Info5" sont personnalisables (et reprises automatiquement dans l'usf)
Il me semble que ça fonctionne. Il y aura probablement des détails à régler. Ca reste à tester ...
P.
 

Pièces jointes

  • Généalogie_10dec2023.zip
    161.6 KB · Affichages: 23

Lucky1357

XLDnaute Junior
Bonjour P.

Le logiciel est génial, quand on a bien pris en mains cela commence bien, mais j'ai une question.
Je rentre un nom, disons Antoine, je mets les dates et j'enregistre, je mets un conjoint, je vois le conjoint, c'est bon. Je fais pareille pour le deuxième nom Pierre, j'appuie sur un conjoint, je le trouve à partir du troisième nom de nouveau Jean, j'enregistre le conjoint dans la BDD, je le trouve, mais quand je choisis le conjoint au sommet du formulaire, pratiquement tous les conjoints on disparut, si vous pouvez me dire pourquoi ? c'est bien possible que je fasse une fausse manipulation.

Je n'ai rien changé dans votre code du formulaire

Salutations

Lucky1357
 

Lucky1357

XLDnaute Junior
Bonsoir,
pour mieux comprendre le problème, je joins le fichier
Sur la BDD les conjoints sont à la bonne place, mais sur le masque de saisie, ils peuvent avoir changé de place ou alors disparus.

Cela peut être aussi une faute de ma part, si ce sont les cas, veuillez m'en excuser

bonne soirée
Lucky 1357
 

Pièces jointes

  • Généalogiejle.xlsm
    68.7 KB · Affichages: 11

p56

XLDnaute Occasionnel
Bonjour,

Si vous avez juste fait un copier-coller des données anciennes vers le nouveau fichier ça ne fonctionne pas.

Il est nécessaire de reprendre "à la main" les infos des unions.
Exemple, si je comprends bien : si Joseph id 8 a eu 2 conjointes Anne-Marie id 10 et Barbe id 17, on doit avoir dans le tableau des unions une ligne qui réunit 8 et 10 et une autre qui réunit 8 et 17 (en R et S)
Par exemple :
Capture d’écran 2023-12-12 104133.jpg

Si le défaut persiste, je vous recommande de cliquer sur le bouton "Enregistrer" avant de cliquer sur "Conjoint"

P.
 

Lucky1357

XLDnaute Junior
Bonjour,

J'ai très bien compris le fonctionnement du programme, il est génial, je vous félicite du travail accompli quand on voit le code cela n'a pas dû être simple à le faire.

Mais j'ai encore une question, comment peut-on ajouter les parents du conjoint. Si j'ai Antoine et Marie qui sont inscrits dans la BDD comment faire pour ajouter les parents de Marie, j'ai essayé de venir sur sa fiche, mais les cases père et mère restent grises, j'ai bien regardé la vidéo, mais rien n'est montré,

Encore bravo et merci pour votre aide

Lucky1357
 

p56

XLDnaute Occasionnel
Bonjour,

En effet cette fonctionnalité utile n'était pas encore développée. Voici une version du jour avec cette possibilité.

A noter : quand 1 des 2 parents est enregistré, il est nécessaire de créer une "union" entre ce parent et un conjoint pour pouvoir renseigner le 2ème parent (le conjoint donc).
Pour l'exemple de la démo, il faudrait donc créer l'union entre Louis de France et Marie-Josèphe de Saxe pour pouvoir indiquer secondairement que la mère de Louis XVI est Marie-Josèphe de Saxe.

P.
 
Dernière édition:

Lucky1357

XLDnaute Junior
Bonsoir,
Après l'installation de la mise à jour que vous avez fait, cela fonctionne super bien.

Mais j'ai constaté que je suis arrivé à faire un à deux doublons que je n'ai pas vus tout de suite dans la BDD, pour éviter ces erreurs, dans les cases grises où on trouve père et mère, serait-il possible de mettre une liste déroulante pour avoir accès à ces colonnes et dès que l'on tape le nom d'une personne que le programme la sélectionne avec une couleur différente, si elle se trouve dans la BDD ou non exemple couleur orange s'il est déjà dans la BDD et vert s'il n'est pas reconnu.

Je pense qu'avec les modifications apportées, le programme fonctionne nickel

avec mes remerciements et bonne soirée

Lucky1357
 

p56

XLDnaute Occasionnel
Bonjour,

Pour éviter des doublons, je propose dans la version du jour l'ajout d'un module de recherche.
A charge pour l'utilisateur de vérifier l'existence de la fiche avant saisie, via ce module.
L'avantage de la méthode réside dans la recherche par arguments (M ou F, et/ou 1ère lettres du prénom et/ou du nom), et de sa disponibilité pour saisie de père ou mère et également pour saisie de fiche "principale" (et par conséquent valable pour enfants et conjoints).
Cette méthode est particulièrement utile dans les bases comportant de nombreuses lignes.
Éventuellement la fenêtre "Recherche" se ferme via croix blanche/rouge en haut à droite.

P.
 
Dernière édition:

Statistiques des forums

Discussions
315 095
Messages
2 116 166
Membres
112 675
dernier inscrit
Tazra_IMOU