OVH Cloud OVH Cloud

sépararer deux mots

8 réponses
Avatar
Michel
Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci aussi
mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+

8 réponses

Avatar
RaMa
"Michel" a écrit dans le message de
news:400abc50$0$315$
Bonjour
solution avec formule

en b1pour le nom
=GAUCHE(A1;CHERCHE("-";A1)-1)
en c1 pour le prenom
=SUPPRESPACE(STXT(A1;CHERCHE("-";A1)+1;300))
RaMa

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci
aussi

mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+




Avatar
sabatier
sans macro ni fonction mais dans Données Convertir Délimité et choisir
le tiret comme autre séparateur...
jps

Michel a écrit:
Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci aussi
mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+




Avatar
RaMa
Solution avec
Donnees Convertir
Tu vois tu choises
RaMa

"Michel" a écrit dans le message de
news:400abc50$0$315$
Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci
aussi

mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+




Avatar
Philippe.R
Bonsoir Michel,
Pour la partie avant tiret, en B2 :
=GAUCHE(A2;TROUVE("-";A2;1)-1)
pour la partie après tiret, en c2 :
=DROITE(A2;TROUVE("-";A2;1))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Michel" a écrit dans le message de news:400abc50$0$315$
Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci aussi
mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+




Avatar
RaMa
Oups fil tordu
Bonjour
je te propose pour enlever les articles du debut de la cellule ceci:

=STXT(A1;SI(ESTERREUR(NBCAR(INDEX({"d'";"d '";"de ";"des ";"du ";"l'";"l
'";"la ";"le ";"les "};EQUIV(1;(GAUCHE(A1;NBCAR({"d'";"d '";"de ";"des ";"du
";"l'";"l '";"la ";"le ";"les "}))=({"d'";"d '";"de ";"des ";"du ";"l'";"l
'";"la ";"le ";"les "}))*1;0)))+1);1;NBCAR(INDEX({"d'";"d '";"de ";"des
";"du ";"l'";"l '";"la ";"le ";"les "};EQUIV(1;(GAUCHE(A1;NBCAR({"d'";"d
'";"de ";"des ";"du ";"l'";"l '";"la ";"le ";"les "}))=({"d'";"d '";"de
";"des ";"du ";"l'";"l '";"la ";"le ";"les "}))*1;0)))+1);200)

RaMa

"Michel" a écrit dans le message de
news:400abc50$0$315$
Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci
aussi

mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+




Avatar
Kamel
le pauvre ....


"RaMa" a écrit dans le message de
news:OiAS%
Oups fil tordu
Bonjour
je te propose pour enlever les articles du debut de la cellule ceci:

=STXT(A1;SI(ESTERREUR(NBCAR(INDEX({"d'";"d '";"de ";"des ";"du ";"l'";"l
'";"la ";"le ";"les "};EQUIV(1;(GAUCHE(A1;NBCAR({"d'";"d '";"de ";"des
";"du

";"l'";"l '";"la ";"le ";"les "}))=({"d'";"d '";"de ";"des ";"du ";"l'";"l
'";"la ";"le ";"les "}))*1;0)))+1);1;NBCAR(INDEX({"d'";"d '";"de ";"des
";"du ";"l'";"l '";"la ";"le ";"les "};EQUIV(1;(GAUCHE(A1;NBCAR({"d'";"d
'";"de ";"des ";"du ";"l'";"l '";"la ";"le ";"les "}))=({"d'";"d '";"de
";"des ";"du ";"l'";"l '";"la ";"le ";"les "}))*1;0)))+1);200)

RaMa

"Michel" a écrit dans le message de
news:400abc50$0$315$
Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des
court.



Un grand merci a Rama sa formule avec Index tourne bien, Céline merci
aussi

mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+








Avatar
gandi
Merci beaucoup!

RaMa a écrit:
"Michel" a écrit dans le message de
news:400abc50$0$315$

Bonjour


solution avec formule
en b1pour le nom
=GAUCHE(A1;CHERCHE("-";A1)-1)
en c1 pour le prenom
=SUPPRESPACE(STXT(A1;CHERCHE("-";A1)+1;300))
RaMa


J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci


aussi

mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+









Avatar
Frédéric Sigonneau
Bonsoir,

Cette ficelle manque d'un petit coup de Split, trouve-je (juste pour le
schmilblick) !
Si tu travailles avec Excel 2000 ou plus récent (sinon fonctions de substitution
pour Split sur mon site, par ex), une fonction matricielle perso (à recopier
dans un module standard du classeur où tu veux l'utiliser) :

'============== Function xlSPLIT(Arr, Optional Delim = " ", Optional Elt)
Dim cell As Range
If IsMissing(Elt) Then
xlSPLIT = Split(Arr, Delim)
On Error Resume Next
Set cell = Application.Caller
On Error GoTo 0
If cell Is Nothing Then Exit Function
If Application.Caller.Rows.Count > 1 Then _
xlSPLIT = Application.Transpose(xlSPLIT)
Else
If Elt < 0 Or Elt > UBound(Split(Arr, Delim)) Then Elt = 0
xlSPLIT = Split(Arr, Delim)(Elt)
End If
End Function
'==============
Ensuite, si ta liste de noms/prénoms est en A1:Ax, sélectionne B1:C1 et saisis
=xlSPLIT(A1;"-")
puis valide par Ctrl+Maj+Entrée et recopie B1:C1 vers le bas autant que de
besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour

J'ai en cellule A nom et prénom séparés par un tiret
et je voudrais séparer le nom en B et le prénom en C
J'ai essayé Gauche mais ça ne va pas car j'ai des noms long et des court.

Un grand merci a Rama sa formule avec Index tourne bien, Céline merci aussi
mais le fait de mettre un + entre mes deux formules renvoie #N/A.
@+