XL 2019 Extraire les premières lettres d'un prénom et nom dans des colonnes

nel27

XLDnaute Nouveau
Bonjour,
mon problème est le suivant. J'ai 3 colonnes : une avec le prénom, une avec le nom et dans la troisième, je voudrais extraire les deux premières lettres des prénoms et noms. Jusque là pas de soucis avec la formule : =MAJUSCULE(GAUCHE(A1;2)&GAUCHE(B1;2)) placée dans ma troisième colonne.
Le hic, c'est lorsque les prénoms sont composés. Exemple pour Marie-Paule BOULIER j'ai : MABO alors que je voudrais MPBO. Uniquement les premières lettres des deux prénoms pour rester dans le format 4 caractères.
J'ai trouvé une solution avec la formule : =SIERREUR(STXT(C12;TROUVE("";A1);1);"")&SIERREUR(STXT(C12;TROUVE("-";A1)+1;1);"")&MAJUSCULE(GAUCHE(B1;2))

Existe-t-il une formule combinant ces deux formules me permettant d'avoir le bon résultat dans ma troisième colonne quelque soit le type de prénom renseigné?
En faite, je voudrais dupliquer ma formule sur toute la colonne et non pas en changer si mon prénom est composé.

En vous remerciant de votre aide.

Belle journée.
 

job75

XLDnaute Barbatruc
Bonjour nel27, fanch55

Avec une fonction VBA on ne se prend pas la tête :
VB:
unction Initiales$(t$)
Dim s
t = Replace(Replace(Replace(UCase(t), "-", " "), " DE ", " "), " LA ", " ")
t = Application.Trim(t) 'SUPPRESPACE
s = Split(t)
Select Case UBound(s)
    Case 0: Initiales = Left(t, 2)
    Case 1: Initiales = Left(s(0), 2) & Left(s(1), 2)
    Case Is > 1: Initiales = Left(s(0), 1) & Left(s(1), 1) & Left(s(2), 2)
End Select
End Function
Le code est placé impérativement dans un module standard.

A+
 

Pièces jointes

  • Classeur(1).xlsm
    16.4 KB · Affichages: 24

nel27

XLDnaute Nouveau
Bonjour,
Marie-Paule et Marie-Pierre, Marie-Christine et Marie-Chantal,Jean-Pierre et Jean-Paul etc ...
Comment avez-vous prévu de les discriminer ?
Bonjour Franch55, je ne pense pas les discriminer. Vu que je combine les premières lettres des prénoms composés avec les deux premières lettres du nom ( Marie-Pierre Olin me donnera MPOL et Marie-Paule Plan me donnera MPPL). Ce serait pas de chance que je tombe sur le même résultat.
 

nel27

XLDnaute Nouveau
Bonjour, @nel27, @job75
Une proposition par formule en pj

Edit : Bonjour, bien évidemment aussi à @fanch55 :rolleyes:
Bonjour Victor21, merci pour la réponse. Je vais testé par contre j'ai vu qu'il y avait une formule pour la récupération des initiales d'un prénom composé et une autre pour la récupération des deux premières lettres d'un prénom simple.
Si ce n'est pas abusé, serait-il possible de combiner ces deux formules?
Merci beaucoup.
 

Victor21

XLDnaute Barbatruc
Bonjour.
Une seule formule en colonne C,
VB:
=SI(ESTNUM(TROUVE("-";A2));STXT(A2;1;1)&STXT(A2;TROUVE("-";A2)+1;1);STXT(A2;1;2))&STXT(B2;1;2)
que le prénom soit simple ou composé (avec un tiret entre les deux parties).
La formule en colonne D passe tout en majuscule, même si les données ne le sont pas
 

Discussions similaires

  • Question
Microsoft 365 Nom et prénom
Réponses
3
Affichages
282

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16