Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

beegees

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai une feuille Excel dont une des collones reprend des noms et des prénoms.

Exemple :

DUPONT Jacques en B3
LEMOINE Cécile en B4
...

J'aimerais extraire le prénom et le copier dans une collone à côté.

Pour ce faire, je pense qu'il faut tester chaque caractère de la cellule, tant qu'on ne rencontre pas une minuscule, on avance d'un caractère, quand on tombe sur une minuscule, on recule d'un caractère, on sélectionne à partir de la position jusqu'à la fin du mot, on le coupe et on le copie à côté.

Voilà en gros pour l'algorithme.

Par contre, je ne sais pas du tout comment faire pour vérifier si un caractère est une minuscule et surtout d'aller au caractère suivant.

Pour copier à partir de la position jusqu'à la fin du mot je ne sais pas non plus.

J'espère que vous pourrez m'aider.

Merci d'avance.

beegees
 

Staple1600

XLDnaute Barbatruc
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

Bonjour

Essaye Données/Convertir

si le nom est séparé du prénom par espace

Autrement par formule

=GAUCHE(A1;TROUVE(" ";A1)) pour le Nom

=SUPPRESPACE(DROITE(A1;NBCAR(A1)+1-TROUVE(" ";A1))) pour le prénom

En VBA (pour le prenom)
Code:
Public Function LE_PRENOM(CC As Range) As String
If InStrRev(CC, Chr(32)) > 0 Then
LE_PRENOM = Mid(CC, InStrRev(CC, Chr(32)) + 1)
End If
End Function

et pour le nom
Code:
Function LE_NOM(CC As String) As String
Dim sESPACE As String
Dim sNOM As String
sESPACE = Chr(32)
sNOM = Left(CC, (InStr(1, CC, sESPACE)))
LE_NOM = sNOM
End Function
 
Dernière édition:

GPLIONEL

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

Bonjour beegees

Pour le nom :
=GAUCHE(B3;CHERCHE(" ";B3)-1)
Pour le prénom :
=DROITE(B3;NBCAR(B3)-CHERCHE(" ";B3))

Grosse collision !! Salut Malix et Staple1600
 
Dernière édition:

malix

XLDnaute Nouveau
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

Essaye d'executer 7 macro

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 05/04/2007 by LAHMAR Abdelmalek
'

'
Selection.TextToColumns Destination:=Range("B3"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("E13").Select
End Sub
 

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

Staple1600 à dit:
Bonjour

Essaye Données/Convertir

si le nom est séparé du prénom par espace

Autrement par formule

=GAUCHE(A1;TROUVE(" ";A1)) pour le Nom

=SUPPRESPACE(DROITE(A1;NBCAR(A1)+1-TROUVE(" ";A1))) pour le prénom

Bonjour Staple1600,

Merci pour la piste du données/convertir.

Le hic avec cette méthode est que certaines personnes ont des noms composé comme par exemple (euh j'invente) BET LUDAR Mokadam

Il prend alors BET uniquement.

Je présûme que ça va être le même avec tes formules Gauche et Droite.

Je n'avais pas vu ta fonction, je viens de tester, VBE ne veut pas la lancer, c'est normal ?

En tout cas, merci pour ton aide et n'hésite pas à me dire ce que tu en penses.

beegees
 
Dernière édition:

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

GPLIONEL à dit:
Bonjour beegees

Pour le nom :
=GAUCHE(B3;CHERCHE(" ";B3)-1)
Pour le prénom :
=DROITE(B3;NBCAR(B3)-CHERCHE(" ";B3))

Grosse collision !! Salut Malix et Staple1600

Bonjour GPLIONEL et merci pour ta réponse.

Malheureusement, idem, pour les noms composés, la formule gauche ne prend que la première partie.

Qu'en penses-tu ?

Merci encore pour ton aide.

beegees
 

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

malix à dit:
Essaye d'executer 7 macro

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 05/04/2007 by LAHMAR Abdelmalek
'

'
Selection.TextToColumns Destination:=Range("B3"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("E13").Select
End Sub

Bonjour malix,

Merci pour ton aide.

J'ai testé ta macro, ça ne fonctionne malheureusement pas.

Merci encore pour ton aide.

beegees
 

malix

XLDnaute Nouveau
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

salut,

c juste un record macro de l'action menu text vers colonne apres il faut la parametrer

g un pb avec mon office je ne peux pas créer des botton dans les sheet
 

GPLIONEL

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

re beegees,

plus complexe :
Nom :
=GAUCHE(B3;SI(ESTERREUR(CHERCHE(" ";B3;1+CHERCHE(" ";B3)));CHERCHE(" ";B3);CHERCHE(" ";B3;1+CHERCHE(" ";B3))))

Prénom :
=DROITE(B3;NBCAR(B3)-SI(ESTERREUR(CHERCHE(" ";B3;1+CHERCHE(" ";B3)));CHERCHE(" ";B3);CHERCHE(" ";B3;1+CHERCHE(" ";B3))))
 

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

Re Lionel,

Très fort !

Merci, là il tient bien en compte les noms composés.

Maintenant, je présûme qu'on peut mettre cela dans une fonction VBA ?

Merci encore pour ton aide, c'est très sympa.

beegees
 

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

Lionel,

Je reviens car je me suis rendu compte qu'à côté de certains noms, il y'avait parfois (souvent) des indications entre parenthèses genre (t) ou (unique).

Penses-tu qu'on pourrais effacer ces parenthèses et leur contenu avant de récupérer le prénom ?

Merci encore pour ta précieuse aide.

beegees
 

GPLIONEL

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

re beegees,

tu sélectionnes ta colonne et tu vas dans
Edition
Remplacer
Dans la case "Rechercher" tu tapes (*)
dans la case "Remplacer par" tu ne tapes rien et tu cliques sur "remplacer tout"
 

Staple1600

XLDnaute Barbatruc
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

Re

Chez moi les deux fonctions LE_PRENOM() LE_NOM() fonctionnent

(elles ne fonctionnent qu'avec des datas du genre
NOM Prenom (séparé par un espace)
 

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscules)

Re Lionel,

Voilà, retour d'avoir été mangé.

Merci pour ta réponse.

J'adopte définitivement ta façon de travailler, merci encore pour tous tes conseils et pour ton dévouement.

beegees

GPLIONEL à dit:
re beegees,

tu sélectionnes ta colonne et tu vas dans
Edition
Remplacer
Dans la case "Rechercher" tu tapes (*)
dans la case "Remplacer par" tu ne tapes rien et tu cliques sur "remplacer tout"
 

beegees

XLDnaute Occasionnel
Re : Extraire le prénom d'un nom + prénom (jouer avec les majuscules et les minuscule

Staple1600 à dit:
Re

Chez moi les deux fonctions LE_PRENOM() LE_NOM() fonctionnent

(elles ne fonctionnent qu'avec des datas du genre
NOM Prenom (séparé par un espace)

Re,

Eh bien je dois pas avoir la manière mais chez moi elles ne se lance pas.

J'ai créé une nouvelle macro,j'y ai inséré le contenu de ta fonction, et quand je fait F8, rien ne se passe.

En plus, bizzarement, je ne la vois pas dans la liste de macros.

Qu'en penses-tu ?

Merci!

beegees
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95