extraction de dates

jlm38070

XLDnaute Nouveau
Bonjour,
Je fais partie d'une association qui rédige des biographies de personnes mortes en France durant la seconde guerre mondiale, le Maitron des fusillés.
Il est possible de récupérer des données au format txt.
J'utilise Excel pour récupérer les données et les"saucissonner". J'utilise pour cela les différents séparateurs : point-virgule, virgule...
La première finalité est de récupérer les lieux de décès afin de réaliser des cartes. Jusque là, je m'en sors à peu près.
Voici par exemple une carte que j'ai réalisée ces derniers jours. La chronologie a été faite "à la main". https://fr.batchgeo.com/map/98f88d384fa879421441b9814c9fbb5a
Mais je voudrais pouvoir extraire les dates de naissance et les dates de décès. Pour les premières, afin d'établir des statistiques relatives à l'âge au moment du décès, pour les secondes pour établir des chronologies.

Les dates sont au format jj mois aaaa, le mois étant écrit en toutes lettres. C'est une convention de rédaction et il y a déjà plus de 30000 notices biographiques.

Je joins un fichier pour exemple, avec quelques lignes, mais le traitement est susceptible de s'appliquer à des tableaux de plusieurs centaines, voire milliers de lignes !

Je vous remercie de votre aide car, sans être un néophyte (j'ai commencé avec Works et Windows 95 !), je suis laaaaaargement dépassé.
 

Pièces jointes

  • Demo jlm38070.xlsx
    10.3 KB · Affichages: 10

jlm38070

XLDnaute Nouveau
Bonjour,

Je ne sais comment te remercier, patricktoulon, ton travail va me faire gagner un temps fou pour l'exploitation des données !
Je ferai les conversions au coup par coup, en essayant de supprimer le plus d'erreurs dans le fichier txt.
De toute façon, comme tu le dis, il y a trop de différences entre les différentes fiches pour arriver à un résultat parfait.
Merci mille fois !!!
À TooFatBoy : J'ai trouvé, mais ce n'est pas très intuitif ! Heureusement qu'il y a Internet !!!
 

patricktoulon

XLDnaute Barbatruc
Bonjour à tout les deux
@TooFatBoy @jlm38070
ben c'est parce que les separateurs sont des ";" et les virgules ne sont pas prises en compte (local:=true)
c'est pour ca que je remastérise tout le texte en fonction( ","+expression) qui devient( ";"+expression)

Bonjour,

Je ne sais comment te remercier, patricktoulon, ton travail va me faire gagner un temps fou pour l'exploitation des données !
Je ferai les conversions au coup par coup, en essayant de supprimer le plus d'erreurs dans le fichier txt.
De toute façon, comme tu le dis, il y a trop de différences entre les différentes fiches pour arriver à un résultat parfait.
Merci mille fois !!!
À TooFatBoy : J'ai trouvé, mais ce n'est pas très intuitif ! Heureusement qu'il y a Internet !!!
@jlm38070
oui le but que je me suis fixé ce n'est pas de faire le job de départ mais de formater tes fichiers afin que tu puisse apres automatiser le plus possible le travail a faire sur tes colonnes

Je ferai les conversions au coup par coup, en essayant de supprimer le plus d'erreurs dans le fichier txt.
pas la peine de travailler sur le fichier text tu a la copie en csv
quand il est ouvert dans excel
si il y a une donnée qui n'est pas dans la bonne colonne tu sélectionne ces cette donnée avec toute les colonne suivante uniquement sur cette ligne et tu la décale vers la droite
 

TooFatBoy

XLDnaute Barbatruc
ben c'est parce que les separateurs sont des ";" et les virgules ne sont pas prises en compte (local:=true)
c'est pour ca que je remastérise tout le texte en fonction( ","+expression) qui devient( ";"+expression)
Non, les séparateurs de colonnes dans les fichiers .txt sont des Tab.
Mais après c'est vrai que dans chaque colonne il y a plusieurs données à récupérer, donc je comprends qu'il faille tout de même tout réorganiser.

Bon après-midi
🖖
 

patricktoulon

XLDnaute Barbatruc
tu dis au coup par coup
ben voilà en un coup
VB:
Sub test3()
    Dim fichier  As Variant, i&, txt$
    fichier = Application.GetOpenFilename("Text Files (*.txt;*.csv), *.txt;*.csv", 1, "ouvrir un fichier", , True)
    If Not IsArray(fichier) Then
        If fichier = False Then Exit Sub
        fichier = Array(fichier)
    End If
    For i = LBound(fichier) To UBound(fichier)
        If Not InStr(1, fichier(i), "(Remaster)") Then
        txt = GetTextOfFich(CStr(fichier(i)))
        txt = ParseText(txt)
        newfichier = SaveRemasterAS(txt, CStr(fichier(i)))
    End If
    Next
    MsgBox "conversion des fichiers  terminée!"
End Sub
regarde bien
demo.gif
 

Discussions similaires

Statistiques des forums

Discussions
312 175
Messages
2 085 952
Membres
103 058
dernier inscrit
florentLP