Extraction de noms

Bonjour à tous,

Je fais ma généalogie et je me retrouve avec des fichiers excel de l'insee (décès) depuis 1970, il est difficile de rechercher dans chaque année voire mois pour localiser un nom!

Et/ou faire une énième feuille excel pour les regrouper?

Et pour comptabiliser sur une période le nombre total de décès, soit sur une année nombre total et nombre par rapport au total des décédés, soit sur une autre période à définir plusieurs mois ou plusieurs années??

comment faire?

merci beaucoup

ps: je ne peux joindre ces fichiers trop lourd (1.79Go) j'essaie de 7zipé mais n'y arrive pas merci

Bonjour à tous,

Essaye avec un tcd, tu pourras ranger par année, tes noms seront en ordre alphabétique; tu pourras comptabiliser tes morts et autres items dont tu as besoin.

Tu ne veux pas essayer de faire un fichier avec 2/3 années, et 10 % des renseignements par années et les résultats que tu désires ????

Crdlmt

ps: je ne peux joindre ces fichiers trop lourd (1.79Go) j'essaie de 7zipé mais n'y arrive pas merci

Bonjour Bob, bonjour DjiDji,

La base de départ, ce sont les fichiers annuels csv ?

Tout regrouper n'est pas possible, cela donnerait de l'ordre de 50 x 400.000 lignes , mais on pourrait tenter une recherche par nom, ou pas commune ou par région en balayant les fichiers csv.

Mets tous les fichiers csv dans un même dossier (voire également en sous-dossiers)

et inscris le nom recheché dans la cellule A1 du fichier joint.

Fais surtout la recherche dans les fichiers csv (2Go) et non xlsx, ce sera plus rapide.

Ce ne sera pas très long in fine.

Option Explicit
Dim ligne As Long, Recherche As String
Sub importer()
Dim chemin$, Rep As FileDialog

    ' choix du répertoire
    Set Rep = Application.FileDialog(msoFileDialogFolderPicker)
    Application.FileDialog(msoFileDialogFolderPicker).Title = "Choix du répertoire des fichiers ..."
    Rep.Show
    If Rep.SelectedItems.Count = 0 Then Exit Sub
    chemin = Rep.SelectedItems(1) & "\"

    ' effacement données
    Range("A1").CurrentRegion.Offset(1, 1).ClearContents

    ' lecture
    ligne = 2
    Recherche = Cells(1, 1)
    lire chemin

End Sub

Sub lire(chemin As String)
Dim fso, SourceFolder, SubFolder
Dim fichier$, ContenuLigne$
Set fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = fso.GetFolder(chemin)

fichier = Dir(chemin)
Do While fichier <> ""
    Open chemin & fichier For Input As #1
        Do While Not EOF(1)
            Line Input #1, ContenuLigne
            If ContenuLigne Like "*" & Recherche & "*" Then
                Cells(ligne, 1) = ContenuLigne
                ligne = ligne + 1
            End If
        Loop
    Close #1
    fichier = Dir
Loop

For Each SubFolder In SourceFolder.subfolders
    lire SubFolder.Path & "\"
Next SubFolder

End Sub
6insee.xlsm (18.78 Ko)

version v2 avec plusieurs noms, mais ne pas en abuser car cela devient trop difficile ensuite de séparer

j'ai toutefois restreint en testant le (début du nom) seulement (alors qu'auparavant on y trouvait aussi les villes pouvant contenir le nom)

5insee-v2.xlsm (22.47 Ko)

Chez moi, une recherche prend 2 minutes.

Bonjour,

Je ne comprends pas comment il faut faire?

Quelques explications seraient les bienvenues!

Merci

Cordialement

Bob

Désolé,

dans la version v2, tu mets le nom ou les noms dans la cellule A1, par exemple

DUPONT|DUPOND

ensuite tu cliques sur le rectangle à coin arrondi et tu choisis le répertoire dans lequel sE trouvent tous les fichiers csv.

capture d ecran 128 capture d ecran 129 capture d ecran 130

Effectivement, çà a mis le petit rectangle "terminé en 2mn48" mais où est le document trié? je n'ai rien!

c'est revenu sur la même page!! dois-je l'enregistrer dans un autre fichier pour ne pas perdre ton programme?

et comment avoir uniquement LHOTEL et pas lhotellier lhoteli etc..

merci quand même pour ta gentillesse!

4lhotel-insee.xlsm (26.77 Ko)

et comment avoir uniquement LHOTEL et pas lhotellier lhoteli etc..

Je vais ajouter un test sur le nombre de caractères dans ce cas

edit : oh, c'est un poil plus compliqué ... je vais reprendre le sujet bientôt.

Voilà c'est bon, j'ai modifié la recherche ...

13lhotel-insee.xlsm (31.72 Ko)

Bonsoir,

çà plante voir copies écran!

merci

capture d ecran 2020 10 05 194158 capture d ecran 2020 10 05 194227

Aucun soucis chez moi ... tu as bien sélectionné le bon dossier de stockage des fichiers csv ? y a t'il d'autres fichiers csv dans le dossier ?

capture d ecran 131

J'étais en train d'améliorer le code pour séparer nom et prénom, je t'envoie cette nouvelle mouture dans quelques minutes. Mais cela ne devrait pas corriger le soucis ! Je t'enverrai un autre fichier pour comprendre !

Appuie sur test et dis moi si cela plante et où ?

Sinon, lance RECHERCHER

8insee.xlsm (21.62 Ko)

bonjour

ne fonctionne pas

capture d ecran 2020 10 06 103930 capture d ecran 2020 10 06 104035

et que dit le test ?

  • y a t'il d'autres fichiers dans le dossier choisi (surtout pas de fichiers xlsx, uniquement des csv)
  • sans cela je ne peut pas diagnostiquer car chez moi et sur d'autres ordinateurs cela fonctionne !

dans tous les cas, cette version est toujours possible https://forum.excel-pratique.com/excel/extraction-de-noms-147055#p905241

bonjour,

C'est pas grave, je rechercherai manuellement!

Le fichier ne contient que des csv.

Dommage pour moi!!

merci quand même d'avoir essayer.

test defile abcd

puis 4

etc.

j'aimerais comprendre, je vais t'envoyer un extrait de fichiers pour tester

Rechercher des sujets similaires à "extraction noms"