XL 2010 dissocier nom et prenom

ppraud

XLDnaute Nouveau
Bonsoir,

je pense que c'est une question classique mais comment faire pour dissocier nom et prenom inscrit dans une même cellule en en sachant que le nom est inscit en majuscule et le prénom en minuscule.
merci de votre aide
 

Phil69970

XLDnaute Barbatruc
Bonsoir Ppraud

Un solution ici :

Si Nom prénom est en A1 :

En B1, pour le nom, inscrire : =GAUCHE(A1;CHERCHE(" ";A1)-1)

En C1, pour le prénom, inscrire : =DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1))

Cordialement
 
Dernière édition:

ppraud

XLDnaute Nouveau
Bonsoir Ppraud

Un solution ici :

Si Nom prénom est en A1 :

En B1, pour le nom, inscrire : =GAUCHE(A1;CHERCHE(" ";A1)-1)

En C1, pour le prénom, inscrire : =DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1))

Cordialement

merci .
Votre solution ne fonctionne pâs acec les noms composés.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @ppraud @Phil69970

Juste un question :
en sachant que le nom est inscit en majuscule et le prénom en minuscule.

Donc admettons que mon nom soit Zarathoustra, dans vos cellules je ressortirai comment ?

Thierry ZARATHOUSTRA
ZARATHOUSTRA thierry
ou encore
ZARATHOUSTRA Thierry ?
ou bien encore complétement aléatoirement (Prénom NOM, NOM Prenom)

Et si par par exemple en noms composé je deviens AINSI-PARLAIT-ZARATHOUSTRA Jean-Bernard, ce sera écrit comment ?

Bonne soirée
@+Thierry
 

GALOUGALOU

XLDnaute Accro
bonsoir ppraud bonsoir phil69970 bonsoir thierry
des fonctions en direct du site de boisgontier
VB:
Function Nom(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "([A-Z'ÔË]{2,}\s*-?)+"
  Set a = obj.Execute(c)
  If a.Count > 0 Then Nom = a(0) Else Nom = ""
End Function
Function Prénom(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  c = Replace(Replace(Replace(c, "M.", ""), "Mme", ""), "Mle", "")
  obj.Pattern = "([A-Z][a-zëéèô]+\s*-?)+"
  Set a = obj.Execute(c)
  If a.Count > 0 Then Prénom = a(0) Else Prénom = ""
End Function
Function civilité(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "(Mme|M\.|Mle)\s"
  Set a = obj.Execute(c)
  If a.Count > 0 Then civilité = a(0) Else civilité = ""
End Function



ce qui donne

Nom+prénomNomPrénomCivilité
Mme MARTIN Marie-NoëlleMARTINMarie-NoëlleMme
Paul ÔMARÔMARPaul
M. DUPONT DE NEMOURS Jean-PierreDUPONT DE NEMOURSJean-PierreM.
Mle Jeanne DUPONT LAJOIEDUPONT LAJOIEJeanneMle
L'HERMITTE PierreL'HERMITTEPierre
Mme Jeanne L'HERMITTEL'HERMITTEJeanneMme

cordialement
galougalou
 

Pièces jointes

  • ECLATER UNE ADRESSE.xls
    39.5 KB · Affichages: 15

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @GALOUGALOU

Ah oui bien vu ces fonctions, en effet ca fonctionne bien :
1592346335047.png


Merci à toi et donc aussi @BOISGONTIER

Bonne soirée
@+Thierry
 

ppraud

XLDnaute Nouveau
Bonsoir @ppraud @Phil69970

Juste un question :


Donc admettons que mon nom soit Zarathoustra, dans vos cellules je ressortirai comment ?

Thierry ZARATHOUSTRA
ZARATHOUSTRA thierry
ou encore
ZARATHOUSTRA Thierry ?
ou bien encore complétement aléatoirement (Prénom NOM, NOM Prenom)

Et si par par exemple en noms composé je deviens AINSI-PARLAIT-ZARATHOUSTRA Jean-Bernard, ce sera écrit comment ?

Bonne soirée
@+Thierry


c'est le 3eme cas
ZARATHOUSTRA Thierry.

en cas de nom composé
nom AINSI-PARLAIT-ZARATHOUSTRA
prénom Jean-Bertrand
merci
 

Discussions similaires

  • Question
XL pour MAC mise en forme
Réponses
2
Affichages
125

Statistiques des forums

Discussions
312 344
Messages
2 087 448
Membres
103 546
dernier inscrit
mohamed tano