Extraire des initiales

Bonjour,

J'aimerais savoir comment extraire toutes les initiales d'une cellule. Par exemple:

Dans une cellule il y a un prénom double, séparé par un trait d'union, puis un nom de famille en 2 mots, séparés par des espaces:

Anne-Marie von Bravo

J'aimerais que dans une autre cellule, une fonction permette d'extraire la première lettre de chaque mot, tout en distinguant la casse (majuscules/minuscules).

Résultat désiré:

AMvB

J'ai essayé de conjuguer plusieurs types de formules, comme STXT, TROUVE, GAUCHE, DROITE, mais sans grand succès jusqu'à maintenant...

Quelqu'un pourrait m'aider?

D'avance un tout grand merci

Baronne

Bonjour,

Un essai par formule :

=SUPPRESPACE(GAUCHE(SUBSTITUE(A1;"-";" ")&REPT(" ";4))&STXT(SUBSTITUE(A1;"-";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(A1;"-";" ")&REPT(" ";4);" ";"µ";1))+1;1)&STXT(SUBSTITUE(A1;"-";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(A1;"-";" ")&REPT(" ";4);" ";"µ";2))+1;1)&STXT(SUBSTITUE(A1;"-";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(A1;"-";" ")&REPT(" ";4);" ";"µ";3))+1;1))

Un "peu" long et limité à un nom en 4 parties maxi (on peut aller un peu plus loin si nécessaire).

Je joins un fichier exemple.

https://www.excel-pratique.com/~files/doc/baronne.xls

@+

Mille fois MERCI pour ta réponse.

Pour diminuer la longueur de la formule, j'ai inséré une colonne, dans laquelle j'ai demandé de remplacer tous les traits d'union et les apostrophes par un espace de la cellule dans laquelle se trouve les noms, puis appliqué la formule des initiales sur cette nouvelle colonne.

Je tiens encore à féliciter toutes les personnes qui répondent sur le forum, pour la pertinence et la rapidité des réponses.

Excel-pratique est plus que pratique, c'est une mine d'or. Je me réjouis presque de rencontrer un problème dans Excel, juste pour pouvoir poser mes questions sur le forum!

Merci à tous et cordiales salutations.

Baronne

Bonjour, salut Thibo,

Il ne faut pas necesairement une colonne supplémentaire.

La formule permettant de remplacer les - et ' par des espaces peut être nommée, puis faire usage de ce nom sous la formule.

Exemple :

A1 : Anne-Marie von Bravo

Sélectionner B1

Menu Insertion / Nom / Définir

Noms dans le classeur : text (ou autre chose)

Fait référence à : =SUBSTITUE(SUBSTITUE(A1;"-";" ");"'";" ")

Cette formule est valable pour tous les textes situés sur la même ligne et dans la cellule à gauche de son usage dans la formule.

Etre attentif à ce qu'Excel ne mette pas automatiquement des $ dans la référence, le cas échéant les supprimer et revalider.

La formule en B1 : =GAUCHE(text)&STXT(text;CHERCHE(" ";text)+1;1)& ...

Bonjour,

En fait, au lieu de nommer une formule ou d'ajouter une colonne supplémentaire, j'ai quand même allongé la formule initiale, qui remplace les -, les ' et les doubles espaces par un espace.

Le résultat final fait un peu peur à première vue (850 caractères), mais fonctionne à merveille:

=SUPPRESPACE(GAUCHE(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" "))&REPT(" ";4))&STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);" ";"µ";1))+1;1)&STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);" ";"µ";2))+1;1)&STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);" ";"µ";3))+1;1)&STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);TROUVE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(F2;"-";" ");"'";" ");" ";" ")&REPT(" ";4);" ";"µ";4))+1;1)

Merci ++ pour vos conseils et cordiales salutations.

Baronne

Bonjour,

Ca peut faire un peu peur, mais avec de la méthode, de telles formules ne sont pas si difficiles que ça à mettre au point.

Cela dit, il ne faut pas hésiter à employer la méthode préconisée par André, à savoir nommer certaines parties de la formule qui se répètent.

Ca rend ainsi la formule un peu plus courte et plus lisible.

Ca permet surtout d'intervenir plus facilement dessus lorsqu'il est nécessaire de la modifier.

Sinon, la taille maxi pour une formule jusqu'à Excel 2003 est de 1024 caractères (il m'est déjà arrivé d'être confronté à cette limite). Sur la version 2007, la limite passe, je crois, à plus de 8000 caractères avec notamment, me semble-t-il, 64 niveaux de parenthèses.

Ca va nous permettre de mettre au point des formules capillo-tractées.

@+

Rechercher des sujets similaires à "extraire initiales"