Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

séparer nom prénom complexe

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C@thy

XLDnaute Barbatruc
Bonjour,

je me heurte à un truc peut-être infaisable : séparer les noms et prénoms des épouses par exemple :
Marié à Germaine Delatour en 1900
Marié successivement à Germaine Delatour en 1900 et à Anne Trucmuche en 1920
je voudrais récupérer dans des colonnes adjacentes :
Germaine
Delatour
Anne
Trucmuche
le problème c'est que Delatour peut être De La Tour.
Et s'il a eu 3 épouses on aura :
Marié successivement à Germaine Delatour en 1900, à Anne Trucmuche en 1920 et à Anne Boleyn en 1932
je crois que le maxi dans ma base est de 4 épouses (heureusement, j'ai pas Ediie Barclay!).
Pour simplifier on n'a mis qu'un prénom : Anne Laure Delatour est devenu Anne-Laure Delatour.

Cela est-il faisable? Merci du coup de main.

Biz

C@thy
 
Re : séparer nom prénom complexe

Ah oui, tu as raison, j'avais oublié cette solution.
D'autant plus que le fichier de départ est un fichier texte...

Merci pour le tuyeau.

sauf que De la Tour fait 3 colonnes... et c'est pas trop top!!!

Bizz

C@thy
 
Dernière édition:
Re : séparer nom prénom complexe

Salut,

Une petite fonction perso peut etre:

Code:
Option Explicit

Function Eclate(Chaine As String, Info As String, Num As Byte) As String
    Dim Cpt As Byte
    Dim Tmp As String
    
    Application.Volatile
    
    If Len(Chaine) <> 0 Then
        Tmp = Chaine
        For Cpt = 1 To Num
            If InStr(1, Tmp, " à ") > 0 Then
                Tmp = Mid(Tmp, InStr(1, Tmp, " à ") + 3)
            Else
                Tmp = ""
            End If
        Next Cpt
    End If
    
    If Tmp <> "" Then
        Select Case UCase(Info)
            Case "PRENOM"
                Eclate = Mid(Tmp, 1, InStr(1, Tmp, " ") - 1)
            Case "NOM"
                Eclate = Mid(Tmp, InStr(1, Tmp, " ") + 1, InStr(1, Tmp, " en ") - InStr(1, Tmp, " ") - 1)
        End Select
    End If
End Function

Parametres
- 1 - la chaine a eclater
- 2 - l'info recherchee, "nom" ou "prenom"
- 3 - l'index (2 pour la seconde personne par exemple)

Ce qui donne a l'usage pour trouver Germaine en cellule A1:
Code:
=eclate(A1;"prenom";1)

++
Minick
 
Re : séparer nom prénom complexe

Bonjour,

Une première approche en pièce jointe.
Mais je crois qu'il y a moyen de le faire avec uniquement des formule en colonne G, donc sans les lignes 2 et 3, formules forcément plus longues.
 

Pièces jointes

Re : séparer nom prénom complexe

Merci pour ta réponse, hoerwind.
Pas mal ton idée de convertir sur à. je mets ça en mémoire.
Le seul truc c'est que cette phrase n'est qu'un élément de la biographie.
En fait je me rends compte qu'encore une fois on me demande un truc quasi impossible.
D'autant plus que le fichier d'origine est sous word. Je réfléchis au fait de traiter ça en macros word, mais ça ma semble tout aussi impossible... voire pire!

Merci beaucoup

C@thy
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…