Mise à jour le : 04/03/04

Remonter

Cette application a été développée par François BOUCHER, membre du C.G.22, sur les recommandations de Guy MAHE.

Tables des Matières : 
1	Introduction :	2
2	Export avec le logiciel Hérédis :	2
3	Annonce légale :	2
4	Compatibilité et Incompatibilité :	2
5	Remerciements à :	2
6	Améliorations :	2
7	Préparation du traitement :	3
8	Utilisation de la macro :	3
9	Traitements des fichiers :	4
9.1	Suppression des lignes avec un No Sosa supérieur à 6 chiffres :	5
9.2	Traitement des mariages multiples :	5
9.2.1	Logiciel Hérédis version 98.	5
9.2.2	Logiciel Hérédis version 2000x.	5
9.3	Champ Nom et Prénoms (NP) :	6
9.3.1	Affichage d'un message d'information	6
9.3.2	Traitement du cas : " SAINT(E) NOM Prénoms "	6
9.3.3	Traitement du cas : " NOM (AZERTY) "	6
9.3.4	Traitement du cas : " L' " ou " D' " au début du NOM	6
9.3.5	Traitement du cas : " NOM (L') " ou " NOM (D') "	6
9.3.6	Traitement du cas : " DE LA NOM Prénom "	7
9.3.7	(*) Traitement particulier du cas : " LE DU "	7
9.3.8	(*) Traitement du cas : Particule AVANT le nom	7
9.3.9	(*) Traitement du cas : Particule APRES le nom	7
9.3.10	Fin du traitement	7
9.3.11	Traitement du cas particulier " NOM (AZERTY) Prénom "	7
9.3.12	Remarques :	8
9.3.13	Effets de bords :	8
9.4	Champ Dates (DN - DM ou DD) :	9
9.5	Champ Lieux (LN - LM ou LD) :	10
9.5.1	Traitements Préliminaires :	10
9.5.2	Traitements particuliers des communes des Côtes d'Armor :	10
9.5.3	Utilisation de la boîte de dialogue :	11
9.5.4	Communes de Bretagne	12
9.5.5	Utilisation du classeur des communes " GedVille22.xls "	12
10	Fin du traitement :	12
11	Abandon du traitement :	13
12	Erreurs de traitement	13
13	Traitements incorrects :	13
13.1	Cas particulier des Noms composés :	13
13.2	Effet de bord de l'option " Extraire (LE)NOM " :	13
14	Représentations des dates :	13
15	Utilisation sur Macintosh :	14
 1 Introduction : 
Cet outil permet d'organiser une liste d'ascendance complète. Cette liste est le résultat de l'export
 au format texte avec le logiciel Hérédis de la Société bsd Concept.
Il est développé sous Excel en Visual Basic.
Les fichiers sont supposés contenir les 10 champs suivants : 
Pour Hérédis 98 : 	STRA ; NP ; DN ; LN ; AGE ; CONJOINT ; DD ; LD ; DM ; LM
Pour Hérédis 2000 : 	STRA ; NP ; DN ; LN ; CONJOINT ; DM ; LM ; DD ; LD ; AGE
Avec les significations suivantes : STRAdonitz, Nom et Prénoms, Date et Lieu de Naissance, 
AGE, CONJoint, Date et Lieu de Décès, Date et Lieu de Mariage.
2 Export avec le logiciel Hérédis : 
Avec Hérédis version 200x : sélectionner Etats àListe d'Ascendance àComplète
Pour les styles de rubriques : 
Noms et Prénoms : 	La 1re option (la particule en 1er, l'espace comme séparateur)
Prénoms : 	Tous les prénoms
Dates : 	Les dates en chiffres séparés par un point (sans l'affichage des zéros)
Lieux : 	Commune (code lieu abrégé)
Exporter avec l'option " Enregistrer sous " : Fichiers ASCII (*.txt)
3 Annonce légale : 
Ce logiciel ainsi que les instructions qui l'accompagnent sont fournis tels quels, sans garantie 
d'aucune sorte.
4 Compatibilité et Incompatibilité : 
Le logiciel fonctionne sous Windows Excel 97 et Excel 2001 pour Macintosh.
Le logiciel ne sait traiter pour l'instant que des fichiers au format ASCII tabulés exportés par 
le logiciel de généalogie Hérédis versions 98 - 2000 & 2001.
5 Remerciements à : 
Je remercie toutes les personnes qui proposent des exemples sous Excel sur Internet, exemples dont 
je me suis inspiré pour réaliser ce logiciel et aux participants du egroup " DONNEESCG22 " pour les 
tests et leurs remarques constructives d'amélioration.
6 Améliorations : 
L'auteur François Boucher serait content de recevoir vos suggestions d'amélioration.
e-mail : francois.boucher@wanadoo.fr
 7 Préparation du traitement : 
Vérifier la présence des 2 fichiers dans le même répertoire : 
GedVille22.xls
MACROGEDCOMn.xls (avec n = n° de version de la macro)
Sous ce même répertoire, créer les 2 dossiers : 
Travail
Resultat (sans accent sur la lettre e)
Placer dans le dossier " Travail " tous les fichiers au format texte.
A la fin des traitements, tous les fichiers modifiés seront dans le dossier " Resultat " et porteront 
les mêmes noms que les fichiers initiaux.
8 Utilisation de la macro : 
Ouvrir le fichier.
Il apparaît un message d'alerte : " Le classeur que vous utilisez contient des macros ".
Valider en cliquant sur l'icône : " Activer les macros ". 
Appuyer sur le bouton " Lancement "
Il apparaît une boîte de dialogue vous invitant à continuer.
Valider par " Oui ". 
9 Traitements des fichiers : 
Il apparaît une boîte de visualisation des enregistrements du fichier en cours de traitement.
Le programme détermine automatiquement le choix du fichier en recherchant sur les 10 premières lignes 
une date dans la 6e colonne du fichier (colonne correspondant à une date de mariage pour un fichier 
d'export Hérédis 200x).
Un petit message dans la barre d'état vous invite à vérifier si ce choix est judicieux en parcourant 
le fichier avec les flèches. 
Dans la fenêtre de visualisation, apparaissent : 
ü Deux boutons d'option permettent de sélectionner la version du logiciel Hérédis utilisé pour 
l'export au format texte. Suivant le bouton sélectionné, les intitulés des champs varient pour tenir 
compte de l'ordre des différents champs dans le fichier.
ü Avec les flèches, se déplacer dans les enregistrements du fichier.
ü La case à cocher " Extraite (LE)NOM " permet de dire au programme que l'on souhaite séparer la 
particule " LE " accolée au début du nom.
ü La case à cocher " Forcer le CP=22 " permet de dire au programme que l'on souhaite forcer les codes 
postaux non renseignés à la valeur " 22 ".
Le bouton " Annuler " provoque l'interruption du traitement du fichier en cours.
Si la touche CTRL est appuyée lorsque l'utilisateur clique sur un bouton gauche de la souris, le 
traitement est abandonné.
Cliquer sur " OK " poursuit le traitement.
 9.1 Suppression des lignes avec un No Sosa supérieur à 6 chiffres : 
Le programme supprime les lignes avec un No Sosa supérieur à 6 chiffres.
En fait, il faudrait prendre 2 puissance 19 - 1 = 524 287 (Oui/Non)
9.2 Traitement des mariages multiples : 
9.2.1 Logiciel Hérédis version 98.
Pour traiter les mariages multiples, le programme traite toutes les lignes.
Au début, toutes les lignes sont déclarées non valides (0 en colonne K) sauf la 1re ligne du fichier 
pour l'enfant (n° Sosa égal à 1).
Il recherche les n° de lignes comportant un même n° Sosa.
Il mémorise au fur et à mesure, le n° Sosa actuel et le précédent, l'intervalle actuel et le précédent.
A chaque changement de n° Sosa, il teste si ce n° Sosa est pair ou impair.
Si pair (père), la 1re ligne est validée (1 en colonne K) dans le cas où il n'y aurait que lui.
Si impaire (mère), il teste si le n° Sosa précédent correspond à un couple (différence de 1).
Si oui, il supprime la validation de la 1re ligne du père et recherche le couple correct. Il valide 
les 2 lignes du couple. Sinon, il valide la 1re ligne de la mère.
Ainsi les individus isolés auront le 1er mariage pris en compte.
A la fin, il trie le fichier en fonction du critère de validation (colonne K).
Il supprime toutes les lignes comprenant un 0 en colonne K.
L'ordre croissant des lignes est conservé.
9.2.2 Logiciel Hérédis version 2000x.
Au moment de l'export, le logiciel regroupe les informations liées aux différents mariages dans 
les champs (CONJ, DM et LM).
Pour les distinguer, ces informations débutent par une puce " o ".
La forme d'un champ est donc la suivante : 
" o  " [information n° 1] "  o  " [information n° 2]
Si un lien est trouvé, les informations des champs (CONJ, DM, LM) sont remplacées par une information 
unique appropriée.
Pour trouver ce lien, le programme extrait chaque information du champ " CONJ " et compare la 
valeur trouvée au champ " NP ". Si " STRA " est pair, le champ " NP " de l'épouse est pris sur la ligne 
du dessous et si " STRA " est impair, le champ " NP " de l'époux est pris sur la ligne du dessus.
Pour le cas particulier du 1er individu, le programme ne fera l'extraction que de la 1re information. 
9.3 Champ Nom et Prénoms (NP) : 
Le programme commence par mettre en forme les " Nom + Prénoms " dans une nouvelle colonne. Les particules 
sont prises en compte : 
Exemple : " LE NOM " transformé en " NOM_(LE) "
Puis il sépare les 2 informations " Nom " & " Prénoms " dans les 2 colonnes suivantes.
Enfin il supprime la colonne " NP " avec la 1re colonne intermédiaire..
Pour séparer les 2 informations, le programme détecte le 1er espace présent.
Il supprime les accents dans les noms propres.
Il supprime les virgules dans les prénoms.
Le champ " Prénoms " est mis sous la forme de " Nom Propre " c.-à-d. que le programme met en majuscule 
la 1re lettre de chaque mot et qu'il met en minuscules les autres lettres du mot.
Le traitement des Noms se décompose de la façon suivante : 
9.3.1 Affichage d'un message d'information 
Si plus de 3 espaces sont détectés, un message d'information prévient l'utilisateur de la présence 
possible d'un cas litigieux.
Ce champ est soit correct : 
Exemple : LE PECHEUR Jean François Marie
Mais il peut être une source d'erreur : 
Exemple : LE MARTIN PECHEUR Jean François
9.3.2 Traitement du cas : " SAINT(E) NOM Prénoms "
Exemple : de SAINT PERN Margueritte (fichier n° 2591.txt)
Détection de SAINT (ou SAINTE) dans la chaîne.
Remplacement de l'espace qui suit par un " _ ".
9.3.3 Traitement du cas : " NOM (AZERTY) "
La chaîne " AZERTY " représente une chaîne de caractères quelconque.
Voir le chapitre suivant.
9.3.4 Traitement du cas : " L' " ou " D' " au début du NOM
L'apostrophe est supprimée et la lettre collée au début du Nom.
9.3.5 Traitement du cas : " NOM (L') " ou " NOM (D') "
La lettre est collée au début du nom.
9.3.6 Traitement du cas : " DE LA NOM Prénom "
La chaîne " DE LA NOM " sera remplacée par " NOM (DE LA) "
9.3.7 (*) Traitement particulier du cas : " LE DU "
Les 2 formes suivantes sont valides : " LEDU " & " LE DU " pour la suite du traitement.
La forme suivante " DU LE " doit être transformée en " DU (LE) " avant de passer à la dernière étape d
u traitement.
9.3.8 (*) Traitement du cas : Particule AVANT le nom
La chaîne " XY NOM Prénom " sera remplacé par " NOM (XY) Prénom ".
XY peut prendre les valeurs suivantes : " DE, DU, LA ou LE ".
9.3.9 (*) Traitement du cas : Particule APRES le nom
La chaîne " NOM XY Prénom " sera remplacé par " NOM (XY) Prénom ".
XY peut prendre les valeurs suivantes : " DE, DU, LA ou LE ".
9.3.10 Fin du traitement
La chaîne " NOM (XY) Prénom " sera remplacé par " NOM_(XY) Prénom ".
XY peut prendre les valeurs suivantes : " DE, DU, LA, LE ou DE LA ".
Les traitements marqués par (*) ne sont exécutés que si le traitement précédant n'a pas obtenu 
de résultat.
9.3.11 Traitement du cas particulier " NOM (AZERTY) Prénom "
Exemple : LE NOM (AZERTY) Prénom remplacé par LE_NOM Prénom
Ce cas est prévu pour supprimer la double orthographe des noms (Français/Breton, Orthographe 
usuelle/Orthographe différente).
Détecter les particules " DE ,DE LA ,DU ,LA ,LE  " avec un espace au début du nom.
Remplacer le 1er espace par un " _ " dans le cas de " DE ,DU ,LA ,LE  " ou 
Remplacer les 2 espaces par un " _" dans le cas de " DE LA  ".
Inserrer un espace avant la 1re parenthèse.
Supprimer les 2 espaces par un seul (cas d'un espace déjà présent)
Calculer les positions des 2 premiers espaces NS1 et NS2 et des parenthèses N1 et N2
Si N1 < NS2 alors c'est un cas à traiter.
Comparaison de l'expression entre parenthèses avec les différentes particules : 
" D', L', DE ,DE LA ,DU ,LA ,LE "
Supprimer la chaîne entre parenthèses.
Dans tous les cas, après la suppression, je remplace le " _ " par un espace.
 9.3.12 Remarques : 
Le message affiché peut prêter à confusion car j'affiche uniquement le 1er remplacement qui 
correspond à la suppression de la chaîne entre parenthèses 
Exemple : LE CUZIAT (L'ESCUYER) Marguerite (Françoise ?) (fichier n° 8104.txt)
Dans un 1er temps, la chaîne sera remplacée (avant traitement de la particule) par : 
LE CUZIAT Marguerite (Françoise ?)
Dans un 2e temps, elle sera mise en forme (après traitement de la particule) par : 
CUZIAT (LE) Marguerite (Françoise ?)
Ce message est là pour insister sur la présence possible d'un cas litigieux. Mais il peut être 
répété souvent. Dans ce cas, on peut choisir de ne plus afficher les messages d'information en 
cliquant sur le bouton " Non ".
9.3.13 Effets de bords : 
La méthode génère des effets de bords : 
N.B. : Voir les remarques au chapitre : " Traitements incorrects ".
9.4 Champ Dates (DN - DM ou DD) : 
Le programme met en forme la date présente dans la colonne suivante.
Puis il supprime la colonne " DATE ".
Le programme commence par détecter si la date est approximative en détectant la 1re lettre ou les 
3 premières lettres des mots clefs suivants : 
1re forme : ava(nt) - apr(ès) - ver(s) - ent(re/et) et cal(culée),
2e forme : < (avant) - > (après) - ~ (vers) - <> ... & ... (entre/et) et (c) pour calculée
Il suppose dans ce cas que l'on a saisi au minimum le mot + l'année (sur 4 chiffres).
Il remplace : avant par " av " ; après par " ap " ; vers et calculée par " ca " suivi des 4 derniers 
chiffres de la date (pour l'année).
Les dates approximatives sous la forme " entre/et " et les dates estimées ne sont pas prises en compte.
S'il n'a pas détecté de date approximative, le programme recherche le nombre de séparateurs présents 
dans la date.
Le séparateur peut prendre les 2 formes suivantes : le " . " ou le " / ".
Notation : La lettre " b " représente un espace.
Si Nombre = 2 ; alors la date est écrite sous la forme " jj.mm.aaaa ".
Le programme remplace les points par des espaces.
Si Nombre = 1 ; alors la date est supposée écrite sous la forme " mm.aaaa ".
Il modifie la date sous la forme : " bbbmmbaaaa ".
Le programme traite indifféremment les différentes présentations des dates suivantes : 
3.9.1984 - 3/9/1984 - 03.09.1894 - ou - 03/09/1984
 9.5 Champ Lieux (LN - LM ou LD) : 
Le programme sépare les 2 informations " Département " & " Commune " dans les 2 colonnes suivantes.
Après les traitements préliminaires, il supprime la colonne " LIEU ".
9.5.1 Traitements Préliminaires : 
Pour un nom de lieu : 
Dans un 1er temps, le programme recherche la présence d'une parenthèse droite précédée d'un espace. 
Dans ce cas, il extrait la partie gauche du champ avant ces 2 caractères, sinon il prend la chaîne complète.
Il remplace les tirets par des espaces.
Il supprime les espaces inutiles.
Il remplace les noms de saints par l'abréviation " St " ou " Ste ".
Il remplace les espaces entre les mots par des tirets.
Pour le code abrégé du département : 
Dans un 1er temps, le programme recherche la présence d'une parenthèse droite.
Dans ce cas, il extrait la partie du champ comprise entre la parenthèse droite et la parenthèse 
gauche ou la fin de la chaîne si la parenthèse gauche n'existe pas, sinon la chaîne est nulle.
Si la valeur extraite n'est pas numérique, il affecte la valeur " 99 ".
Exemple : au lieu d'indiquer " 33 " l'utilisateur a saisi " GIRONDE "
Les codes postaux abrégés en dehors du " 22 " sont complétés par 3 zéros à droite.
NB. : Il faudrait aussi utiliser une table de correspondance entre le nom des départements et 
les codes abrégés ?
9.5.2 Traitements particuliers des communes des Côtes d'Armor : 
Après les traitements préliminaires, le programme reprend la vérification pour toutes les 
communes dont le code abrégé du département est égal à " 22 ".
Dans un 1er temps, le programme met en forme le lieu.
Il place les articles : " le " - " la " ou " ile de " après le mot entre parenthèses : 
Exemple : " La-Commune " remplacé par " Commune-(la) ".
Dans un 2e temps, il vérifie l'orthographe du lieu.
Il cherche si le mot apparaît dans la 1re colonne de la table primaire " COMM_22 " 
du classeur "GedVille22.xls".
Dans ce cas, il recopie le mot et passe à la commune suivante.
Dans le cas contraire, il cherche si le mot apparaît dans la 1re colonne de la 2e table " NEW " 
du classeur " GedVille22.xls ".
Dans ce cas, il recopie la valeur correspondante contenue dans la 2e colonne et passe à la 
commune suivante.
Le programme réaffecte le code postal complet contenu dans la liste.
Dans un 3e temps, en cas d'échec, il propose une méthode manuelle.
9.5.3 Utilisation de la boîte de dialogue : 
Le programme affiche une boîte de recherche pour inviter l'opérateur à choisir l'orthographe 
correcte du lieu parmi une liste prédéfinie. 
La cellule active contient le lieu en cours de traitement.
Dans la fenêtre de recherche, apparaissent : 
ü Un bouton d'option.
ü Une zone de liste ("ListBox").
ü Une case à cocher pour dire au programme que l'on souhaite mémoriser la sélection.
ü Deux boutons pour le choix du mode de sortie.
Le bouton " Annuler " provoque le " rejet " du lieu.
Le bouton " OK " valide la saisie.
Ce rejet est mémorisé mais son effet est limité au traitement du fichier en cours. L'orthographe 
initiale du lieu est conservée mais le code postal est forcé à " 99000 ".
Si l'opérateur a choisi le bouton " OK ", le programme recopie la valeur sélectionnée, sauvegarde l
a sélection et passe à la commune suivante.
Dans le cas où l'opérateur sortirait par le bouton " OK " sans avoir au préalable choisi une valeur, 
un message d'alerte l'inviterait à recommencer.
Pour sélectionner l'élément qui apparaîtra en haut de la liste, le programme compare les 5 premières 
lettres du lieu avec celles des éléments de la liste.
Dans la zone de liste, seuls sont affichés les noms de communes commençant par la même lettre que 
le mot litigieux. Cette sélection permet de n'afficher qu'un petit nombre de communes. Par contre, 
si l'erreur dans l'orthographe du mot porte sur la 1re lettre, une liste sans intérêt sera sélectionnée. 
L'opérateur peut alors appuyer sur le bouton d'option pour faire apparaître la totalité de la liste des 
communes.
Pour sélectionner une valeur dans la zone de liste, il suffit de se déplacer dans la liste avec 
l'ascenseur et de sélectionner une valeur en cliquant dessus.
9.5.4 Communes de Bretagne
Lors de l'extraction du Code Postal d'un lieu, si ce lieu correspond aux 5 départements de la Bretagne,
 la valeur littérale sera convertie en nombre : 
COTES[-D'ARMOR] = 22 , FINISTERE = 29 , ILLE-ET-VILAINE = 35 , LOIRE-ATLANTIQUE = 44" , MORBIHAN = 56
9.5.5 Utilisation du classeur des communes " GedVille22.xls "
Avant chaque traitement d'un fichier texte, ce classeur est réinitialisé.
A partir de la table primaire " COMM_22 ", une 2e table " NEW " est générée contenant les noms 
lieux sans accent.
Une 3e table " EXCLUS " est préparée pour la sauvegarde des lieux rejetés.
Dans chaque feuille, pour accélérer les traitements, une liste de valeurs est calculée définissant 
les bornes (n° de ligne) pour rechercher un lieu commençant par une des 26 lettres de l'alphabet.
10 Fin du traitement : 
Le programme supprime les 2 colonnes " AGE " et " CONJOINT " et réordonne les colonnes si nécessaire.
Le programme insère une ligne avec les libellés des différentes colonnes.
Il sauvegarde le fichier dans le dossier " Resultat ".
Il supprime le fichier dans le dossier " Travail ".
Si plusieurs fichiers sont à traiter, il passe au suivant.
 11 Abandon du traitement : 
Avec l'abandon du traitement, le fichier en cours de traitement n'est pas mis en forme et le 
programme est arrêté.
12 Erreurs de traitement
Dans le cas d'une erreur de traitement, le programme valide une routine de gestion d'erreur.
Cette routine affiche : 
ü Le module qui a causé l'erreur - et - 
ü La valeur de la cellule en cours de traitement.
Le détection d'une erreur d'exécution provoque la sortie brutale du programme. 
Il faut alors corriger le fichier manuellement et relancer le traitement.
13 Traitements incorrects : 
13.1 Cas particulier des Noms composés : 
" LA RUE HAUTE Martin " remplacé par " RUE (LA) " - " Haute Martin "
13.2 Effet de bord de l'option " Extraire (LE)NOM " : 
Il est possible d'extraire la particule accolée au nom pour uniformiser l'écriture des patronymes. 
Mais cette option a un effet de bord dévastateur : 
Exemple : " LARVOR " remplacé par " RVOR (LA) ".
14 Représentations des dates : 
La représentation de la date sous la forme " jj/mm/aaaa " a l'avantage de provoquer une mise en 
forme identique des dates approximatives (avec des symboles mathématiques) lors de l'export du 
fichier avec les différentes versions du logiciel Hérédis.
Par contre, Excel reconnaît cette forme comme une date, le format de la cellule passe du format 
numérique Standard à un format de date. Il faut donc être très prudent si vous souhaitez visualiser 
le fichier texte sous Excel.
15 Utilisation sur Macintosh : 
L'outil fonctionne aussi sur Macintosh.
Il suppose l'utilisation d'Excel 98 pour Macintosh au minimum.
La seule différence est la suivante : 
Les fichiers résultats au format texte utilisent des caractères Macintosh.

Remonter

Guy Mahé  : Webmaster