Menu

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

Messages postés
32
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 juin 2018
- - Dernière réponse : Aliboron Martin
Messages postés
2605
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
15 juillet 2019
- 20 févr. 2019 à 11:44
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.


Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
2605
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
15 juillet 2019
505
1
Merci
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

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 53895 internautes nous ont dit merci ce mois-ci

Aliboron Martin
Messages postés
2605
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
15 juillet 2019
505 -
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...
Petianoudubearn
Messages postés
1
Date d'inscription
mercredi 20 février 2019
Statut
Membre
Dernière intervention
20 février 2019
-
Bonjour monsieur,
Votre réponse correspond presque à un souhait que j'ai : extraire les deux derniers mots d'une cellule... auriez-vous une combine ?
Aliboron Martin
Messages postés
2605
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
15 juillet 2019
505 > Petianoudubearn
Messages postés
1
Date d'inscription
mercredi 20 février 2019
Statut
Membre
Dernière intervention
20 février 2019
-
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
19880
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
15 juillet 2019
3889
0
Merci
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
Messages postés
32
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 juin 2018
0
Merci
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,