Extraire le dernier mot d'une cellule [Résolu/Fermé]

Signaler
Messages postés
32
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 juin 2018
-
Messages postés
2791
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
17 mai 2020
-
Bonjour à tous,
Je dispose d'une liste dans une feuille Excel de plusieurs milliers de livres triés par le nom de l'auteur.
Malheureusement, cette liste a été faite avec "Prénom Nom", ce qui fait qu'elle est triée par le Prénom en majeur.
Je voudrais trouver une astuce, ou une macro (ce dont je suis incapable...) pour extraire le dernier mot de chaque cellule et le mettre dans la colonne suivante.
Bien sûr, tous les "Pierre" sont ensemble, mais également les "Pierre-Marie", les "Pierre Marie", etc...
Je pourrais ainsi résoudre la majorité des cas, et en extrayant le dernier mot qui est souvent composé d'un seul tenant, je disposerais du nom de l'auteur.
Un grand merci d'avance.


3 réponses

Messages postés
19231
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
10 mai 2020
4 660
Bonjour

Peut-être pourrais tu utiliser ceci:
1- sélectionne la colonne contenant les noms d'auteurs
2- ouvre le menu "Données -> Convertir"
3- coche "Délimité" puis clique sur "Suivant"
4- choisis "Espace" comme séparateur
5- regarde dans l'aperçu ce que cela donne:

6- si cela te convient, clique alors sur "Fin":


Ritchi
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 93716 internautes nous ont dit merci ce mois-ci

Messages postés
2791
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
17 mai 2020
635
Pour les cas de figure simples (un prénom et un nom séparés par un espace), tu peux assez facilement les extraire avec une formule :



Comme on le voit sur l'illustration, les choses se compliquent lorsqu'il y a plusieurs espaces, puisque la fonction TROUVE() recherche depuis la gauche et s'arrête au premier caractère trouvé. Il faudra donc reprendre les choses ensuite...

Plutôt qu'extraire le dernier mot d'une chaîne, on supprime le premier, en quelque sorte. ;-)


Bonjour chez vous !
Bernard
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 93716 internautes nous ont dit merci ce mois-ci

Messages postés
2791
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
17 mai 2020
635
Je complète : en cherchant un peu, j'ai trouvé une formule qui permet d'obtenir effectivement le dernier mot d'une chaîne sur cette page. Je l'ai un peu adaptée au contexte et voilà ce que ça donne :
=STXT(A1;CHERCHE("|";SUBSTITUE(A1;" ";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))))+1;100)
(en gros, elle fait une recherche du nombre d'espaces pour pouvoir partir du dernier)

Bon, pour des noms de famille comportant un espace (ex : van Damme), ça complique toujours un peu puisque ça ne prend que le dernier...
Messages postés
4
Date d'inscription
mercredi 20 février 2019
Statut
Membre
Dernière intervention
7 janvier 2020

Bonjour monsieur,
Votre réponse correspond presque à un souhait que j'ai : extraire les deux derniers mots d'une cellule... auriez-vous une combine ?
Messages postés
2791
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
17 mai 2020
635 >
Messages postés
4
Date d'inscription
mercredi 20 février 2019
Statut
Membre
Dernière intervention
7 janvier 2020

Dans ce cas, il faut adapter un peu la formule pour qu'elle tienne compte différemment du nombre d'espaces présents dans la cellule. Cela devient :
=STXT(A1;CHERCHE("|";SUBSTITUE(A1;" ";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))-1))+1;100)
(c'est le -1 ajouté entre les parenthèses fermantes qui fait la différence !) ;-)
Messages postés
32
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 juin 2018

Bonjour à tous,
Merci à vous deux d'avoir pris du temps pour m'aider à résoudre mon problème.
La formule =STXT(A1;CHERCHE..... fonctionne à la perfection.
En fait, j'avais commencé à essayer de gérer avec les séparateurs, mais bien sûr, les noms n'étaient pas dans la même colonne.
Il me faudra gérer manuellement les quelques noms composés, mais c'est vraiment dans très peu de cas.
Merci encore,