Cet article va vous expliquer comment trouver la dernière position d'un caractère dans une cellule.
Rechercher la dernière position d'un caractère n'est pas facile à réaliser dans Excel. Les fonctions CHERCHE et TROUVE commencent leurs recherches depuis la gauche.
- Combiner plusieurs fonctions Texte d'Excel
Si vous ne travaillez pas avec Excel 365, la solution consiste à contruire une formule qui va compter le nombre de caractères de la chaîne. Ensuite, nous allons compter le nombre de fois que le caractère de recherche est présent. Enfin, nous allons nous focaliser uniquement sur le dernier.
- La fonction TEXTE.APRES
Fonction créée en 2023, elle vous permet de lire une chaîne de caractères depuis la droite
Comment trouver la dernière position d'un caractère ?
Nous allons prendre comme exemple les chemins d'accès des répertoires d'un ordinateur et extraire le nom du dernier répertoire. Le caractère à prendre en compte ici c'est le \.

Etape 1 : Déterminer le nombre de caractères
Nous allons commencer par compter le nombre total de caractères contenus dans la cellule avec la fonction NBCAR.
=NBCAR(A2)

Etape 2 : Retirer tous les caractères "\"
Ensuite, nous allons construire une nouvelle chaîne de caractères SANS le caractère de rupture (ici le caractère "\"). Nous allons utiliser la fonction SUBSTITUE pour remplacer le symbole "\" par rien "".
=SUBSTITUE(A2;"\";"")

Etape 3 : Compter le nombre de fois où le caractère présent
Pour obtenir le nombre de fois où le caractère "\" est présent dans la chaîne de caractères initiale, il suffit de retrancher la longueur initiale par la longueur de la nouvelle chaîne.
=NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";""))

Etape 4 : Remplacer uniquement le dernier "\"
La fonction SUBSTITUE se construit la majorité du temps avec 3 paramètres.
- La chaîne à traiter.
- Le texte à rechercher.
- Le texte à remplacer.
Mais il existe un 4e paramètre, optionnel, qui permet de ne remplacer qu'un seul caractère en indiquant sa position dans la chaîne initiale.
Or, grâce à l'étape précédente, nous connaissons le nombre de fois que le symbole "\" est présent. Donc, nous allons nous servir de cette information pour indiquer que nous allons remplacer juste le dernier "\" par un autre caractère ; ici le µ.
=SUBSTITUE(A2;"\";"µ";B2)

Le choix du caractère "µ" n'est pas obligatoire. En fait, il faut prendre un caractère qui ne sera certainement pas présent dans la chaîne initiale. On aurait pu choisir également un caractère comme { | ~
Etape 5 : Position du caractère "µ"
Cette étape n'est pas la plus compliquée.? Il suffit de déterminer à quelle position se trouve le nouveau caractère ajouté dans la nouvelle chaîne créée. Et pour cela, nous allons nous servir de la fonction CHERCHE.
=CHERCHE("µ";SUBSTITUE(A2;"\";"µ";B2))

Etape 6 : Ne faire qu'une seule et même formule
Il ne reste plus qu'à regrouper toutes ces étapes dans une seule et même formule.
=CHERCHE("µ";SUBSTITUE(A2;"\";"µ";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";""))))
Méthode plus simple avec TEXTE.APRES
Avec l'arrivée de TEXTE.APRES, l'extraction du dernier mot après le délimiteur s'obtient plus facilement.

Mais cette fonction ne ramène la position. Si c'est vraiment la position du dernier "\" que vous voulez retourner, il faut adapter la formule comme ceci :

06/03/2024 @ 22:57
excellent !