extraire le premier mot dans une cellule excel

  • Initiateur de la discussion Initiateur de la discussion krikri9
  • 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 !

K

krikri9

Guest
Bonjour

J'ai des colonnes qui se composent de données telles que NOM Prénom

Et je souhaiterais les scinder un deux colonnes distinctes une avec le nom et une avec le prénom.

Et je n'ai aucune idée de la formule à utiliser...

Merci d'avance
 
Re : extraire le premier mot dans une cellule excel

Bonjour krikri9

Un essai, si ta cellule de départ est A1:

Pour le nom en B1:
Code:
=GAUCHE(A1;TROUVE(" ";A1)-1)

Pour le prénom en C1:
Code:
=STXT(A1;TROUVE(" ";A1)+1;NBCAR(A1)-TROUVE(" ";A1))

@ +

mth
 
Re : extraire le premier mot dans une cellule excel

Merci Mth,

j'étais justement en train de browser Google car j'étais a la recherche de l'info.

j'ai le meme besoin que krikri9, j'ai testé et cela fonctionne parfaitement. Par contre, la valeur #valeur est renvoyé quand le champ ne contient qu'un seul mot (ici nom ou prénom).

Une solution pour qu'il ne traite pas la cellule ? une condition je suppose...

Voici la problématique :
 

Pièces jointes

  • Excel.gif
    Excel.gif
    5.6 KB · Affichages: 1 405
  • Excel.gif
    Excel.gif
    5.6 KB · Affichages: 1 270
  • Excel.gif
    Excel.gif
    5.6 KB · Affichages: 1 148
Re : extraire le premier mot dans une cellule excel

Bonsoir manu18e, krikri9, salut Mireille,

Les formules renvoient #VALEUR! quand il n'y a pas d'espace.

On peut les modifier comme suit :

Code:
=SI(ESTNUM(TROUVE(" ";A1));GAUCHE(A1;TROUVE(" ";A1)-1);"")

=SI(ESTNUM(TROUVE(" ";A1));STXT(A1;TROUVE(" ";A1)+1;99);"")

PS. tu ne m'en voudras pas Mireille pour la petite simplification 🙂

A+
 
Re : extraire le premier mot dans une cellule excel

Bonjour à tous,

Pour compléter la série, ceci :

Code:
=GAUCHE(A1;TROUVE(" ";A1&" ")-1)

qui permet également de gérer les mots seuls

@+

Edit : et une autre pour le prénom :

Code:
=STXT(A1;TROUVE(" ";A1&" ")+1;9^9)

Fonctionne également s'il n'y a pas de prénom

Petit rappel de principe : les noms et prénoms composés doivent être séparés par des traits d'union.

@+
 
Dernière édition:
Re : extraire le premier mot dans une cellule excel

Bonjour a tous,

Merci a toutes vos contributions.

La réponse de Tibo est celle qui fonctionne le mieux...cependant, comment gérer les prénoms composé du type :

A1 : Jean Christophe DUPONT

J'aimerai avoir comme résultat :

Prénom dans B1 : : Jean-Christophe
Nom dans C1 : DUPONT

Merci pour vos reflexions.
 
Re : extraire le premier mot dans une cellule excel

Bonjour manue 18e, le fil,

Le fichier étudié doit avoir un minimum de cohérence, sinon on ne peut rien distinguer, exemple :

Jean Christophe DUPONT

Jean DUPONT LAJOIE

Jean Christophe DUPONT LA JOIE

etc etc...

Edit : si les NOMS sont toujours en MAJUSCULES, on peut aussi faire un traitement par une fonction macro. Je regarde ça.

A+
 
Dernière édition:
Re : extraire le premier mot dans une cellule excel

Re, salut exene,

Voici 2 fonctions macros, les NOMS doivent donc être en MAJUSCULES :

Code:
Function Nom$(txt$)
Dim i%, deb%
txt = Application.Trim(txt) 'supprime TOUS les espaces inutiles
For i = 1 To Len(txt)
  deb = i
  If Mid(txt, i, 3) = UCase(Mid(txt, i, 3)) Then Exit For
Next
For i = deb To Len(txt)
  If Mid(txt, i, 3) <> UCase(Mid(txt, i, 3)) Then Exit For
Next
If deb = i Then Exit Function 'nécessaire si pas de nom
Nom = Trim(Mid(txt, deb, i - 1))
End Function

Function Prénom$(txt$)
txt = Application.Trim(txt)
Prénom = Trim(Replace(txt, Nom(txt), ""))
End Function

Fichier joint.

A+
 

Pièces jointes

Re : extraire le premier mot dans une cellule excel

Bonjour,

Sur le même principe que celui de Job : Nom écrit en majuscules, une solution par formule matricielle :

Prénom - Nom en A1

en B1 :

Code:
=STXT(A1;1;MAX((EXACT(MAJUSCULE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));
STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*1=0)*LIGNE(INDIRECT("1:"&NBCAR(A1)))))

Formule matricielle à valider par CTRL + MAJ + ENTREE

en C1, sa petite soeur :

Code:
=STXT(A1;MAX((EXACT(MAJUSCULE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));
STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))*1=0)*LIGNE(INDIRECT("1:"&NBCAR(A1))))+2;9^9)

Formule également matricielle à valider par CTRL + MAJ + ENTREE

Le principe de ces formules est de détecter le rang de la dernière minuscule, donc en principe, la dernière lettre du prénom.

@+
 
Re : extraire le premier mot dans une cellule excel

Oh là là, le topic avance a grands pas...je vais mettre en application les réponses formulées ici dans l'apres midi.

Pour info, les noms dans mon fichier sont bien majuscules.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
793
Réponses
6
Affichages
334
Réponses
9
Affichages
372
W
Retour