Extraire des initiales entre 2 symboles excel

Résolu
clemence40 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 clemence40 -
Bonjour,

Je suis confrontée à un problème sur l'extraction dans une cellule excel entre deux symboles.

Je souhaiterais extraire les initiales des villes entre deux symboles.
Voici l'exemple : Claire Monet - Las Vegas,NV

C'est toujours le même type de symbole à savoir : "-" et "," (avec les mêmes espaces)
Toutefois les villes changent (Miami,New York etc) et la première partie aussi.

J'ai fait plein d'essai mais n'y arrive pas

Merci de votre réponse et de votre aide



A voir également:

4 réponses

tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   247
 
Bonjour,

Dans un premier temps, extraire le nom de la ville (ex:A1)

=STXT(A1;CHERCHE("-";A1;1)+2;CHERCHE(",";A1;1)-CHERCHE("-";A1;1)-2)

Claire Monet - Las Vegas,NV => Las Vegas (ex:B1)

ensuite via une table de correspondances

=recherchev(B1;plage-table-correspondance;2;0) => LV (ex:C1)
1
clemence40 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci!!
0
pépé35530 Messages postés 2943 Date d'inscription   Statut Membre Dernière intervention   1 389
 
Bonjour,

J'avais cette formule :

=STXT(A2;CHERCHE("-";A2)+2;1)&SI(CHERCHE(",";A2)>CHERCHE(" ";A2;CHERCHE("-";A2)+2);STXT(A2;CHERCHE(" ";A2;CHERCHE("-";A2)+2)+1;1);"")

qui marche pour un mot simple ou composé de deux mots.

A+

pépé
1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Vu la complexité des formules pour résoudre le pb

une fonction personnalisée pour ville en 1 ou 2 mots
(Rio de Janeiro donnerait RD ==> tu dis au cas où...)

Function initiales(texto As String) As String 
Dim separe As Variant
separe = Split(texto, ",") 
separe = Split(separe(0), "-") 
separe = Split(Trim(separe(1))) 
If UBound(separe) = 0 Then 
    initiales = UCase(Left(separe(0), 2)) 
Else 
    initiales = UCase(Left(separe(0), 1)) & UCase(Left(separe(1), 1)) 
End If 
End Function

Michel
1
clemence40
 
Super merci beaucoup!!!
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Pour New York: NY
OK
mais pour Miami M tout seul ?
0
clemence40 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
C'est vrai je n'ai pas été très précise :

Pour les mots composés : les deux initiales
Pour les mots "simples" : les deux premières lettres

Merci!
0