XL 2013 Scinder une chaine de caractères dans une même cellule

SebFF37

XLDnaute Nouveau
Bonjour à tous,


Avant tout merci à tous les contributeurs qui aident les gens comme moi qui débutent.

J'ai un fichier excel avec des noms de Lycée et leur ville d'implantation. Dans la même cellule. Je veux les garder dans la même cellule.
Mon problème c'est que le nom de la ville est apposé au nom du Lycée.
Ce qui donne "Lycée DescartesTours". J'ai besoin de séparer le nom du Lycée et le nom de la ville pour avoir "Lycée Descartes Tours".
J'ai besoin de conserver l'ensemble dans une même cellule.

Comme vous le constaterez, il y a une subtilité car j'ai des noms de ville en majuscule que je dois (si possible conserver en l'état).

Merci d'avance de votre aide et bonne journée,

Sébastien
PS: Un fichier pour bien expliquer
 

Pièces jointes

  • Illustration.xlsx
    8.3 KB · Affichages: 10

SebFF37

XLDnaute Nouveau
Bonjour,

Il faudrait une liste des villes à trouver, sinon ça va être difficile, sauf à interroger une base de donnée.

A vous relire

Bonsoir Roblochon,

Merci pour votre retour.
Si c’est la subtilité que j’expose qui pose problème, je peux laisser tomber cette partie.
Le plus important c’est de pouvoir séparer le nom du lycée et la ville.
Merci et bonne soirée
 

Hasco

XLDnaute Barbatruc
Repose en paix
RE,

Non. La question est de faire reconnaître à excel la présence d'un nom de ville dans une chaîne de caractère.
S'il n'y a aucune base de comparaison, excel ne pourra trouver tout seul.
Donc si vous avez une liste des villes à reconnaître dans vos chaînes de caractères, alors joignez là à votre exemple.

Bonne soirée
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

avec un fonction personnalisée :
VB:
Function decoup(ByVal ch As String) As String
    Dim i As Long, car As String * 1
    decoup = ch
    For i = Len(ch) To 2 Step -1
        car = Mid(ch, i, 1)
        If car >= "A" And car <= "Z" And Mid(ch, i - 1, 1) <> " " And Mid(ch, i - 1, 1) > "Z" Then
            decoup = Left(decoup, i - 1) & " " & Mid(decoup, i)
        End If
    Next i
End Function
Insère une espace si majuscule précédée d'une minuscule.
eric
 

Pièces jointes

  • Illustration.xlsm
    15 KB · Affichages: 11

Discussions similaires