Convertir une chaine de caractère avec une formule

Bonjour,

je cherche une formule qui effectue la même fonctionnalité que l'outil " convertir".

je souhaite extraire dans la colonne B le nom du dernier répertoire d'un chemin d'accès lister dans la colonne A.

J'ai une liste de chemins d'accès sur la colonne A. je souhaite décomposer et isoler le dernier nom du répertoire de chacun de ces chemins d'accès sans passer par l'outil convertir (afin de bénéficier d'une exécution automatique)

les chemins d'accès sont tous différents mais ils se composent de :

lecteur:\répertoire 1\répertoire 2\répertoire 3\répertoire n\répertoire final\nom du fichier.extension

Puisque c'est le répertoire final qui m'intéresse, et que je n'ai pas le nom du fichier, cela semble facile... mais je me perd dans les STXT, NBCAR...
si possible faire disparaitre les \ de chaque coté de la chaine de caractère extraite est un +.

chemin d'accèsnom du répertoire
lecteur:\répertoire 1\répertoire 2\répertoire 3\répertoire finalA\résultat à obtenir : répertoire finalA
lecteur:\répertoire 1\répertoire 2\répertoire 3\répertoire 4\répertoire finalB\résultat à obtenir : répertoire finalB
lecteur:\répertoire 1\répertoire 2\répertoire 3\répertoire 4\répertoire 5\répertoire finalC\résultat à obtenir : répertoire finalC
lecteur:\répertoire 1\répertoire 2\répertoire 3\répertoire 4\répertoire 5\répertoire 6\répertoire 7\répertoire finalD\résultat à obtenir : répertoire finalD

Hello, une approche via Power Query

Clic droit sur le tableau et actualiser pour mettre à jour

@+

10baroute78.xlsx (19.21 Ko)

Bonjour,
Une autre proposition. Excel 2013 + Excel 365, 2021 !
Cdlt.

8ol-lo.xlsx (11.14 Ko)
capture d ecran 2023 01 13 113215

Bonjour,

et enfin pour en rajouter une couche, solution avec une fonction personnalisée:

Formule en B2:

=Der_Rep(A2)

le code :

Function Der_Rep(plage As String) As String
    plage = Left(plage, Len(plage) - 1)
    Antislash = InStrRev(plage, "\", -1)
    Der_Rep = Right(plage, Len(plage) - Antislash)
End Function

Cdlt

Bonjour tout le monde,

Tant qu'on y est, une formule qui devrait fonctionner sur des versions anciennes d'Excel :

=SUBSTITUE(STXT(SUBSTITUE(A2;"\";"#";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";""))-1);TROUVE("#";SUBSTITUE(A2;"\";"#";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";""))-1))+1;50);"\";"")

Le 50 près de la fin peut être modifié si le nom du répertoire final peut compter plus de caractères

ol lo, sSi tu ne trouves pas ton bonheur la dedans

bonjour

aller , une autre

=SUBSTITUE(STXT(A2;GRANDE.VALEUR(SI(STXT(A2;LIGNE($1:$200);1)=CAR(92);LIGNE($1:$200);"");2)+1;50);CAR(92);"")

Bonjour, merci à Tulipe_4, Baroute78; U. Milité, Arturo83 et Jean-Eric, oui ça fonctionne, (je n'ai pas réussi à utiliser la formule transpose / filtre (trop subtil pour moi) mais ça le fait sur VBA ou sur excel Substitue.

oui je fais appel à Power Query pour importer la liste de chemin d'accès.
Mais je bloque pour un problème VBA du type : Expression.SyntaxError : Jeton In attendu...

Bref ça fera l'objet d'un autre billet.

Merci encore et excellent Week End .

Rechercher des sujets similaires à "convertir chaine caractere formule"