Cet article va vous expliquer comment trouver la dernière position d'un caractère précis dans une cellule.
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;"\";""))))
Créer une fonction personnalisée
Si vous travaillez avec la version de Microsoft 365, vous pouvez incorporer cette fonction dans une fonction personnalisée en utilisant la fonction LAMBDA et la méthode décrite dans cet autre article.
=LAMBDA(cell;x;CHERCHE("µ";SUBSTITUE(cell;x;"µ";NBCAR(cell)-NBCAR(SUBSTITUE(cell;x;"")))))



Et maintenant, vous pouvez l'utiliser dans vos formules et appelant son nom depuis 1 cellule.



Vous trouverez des informations complémentaires sur la fonction NBCAR sur le site de Microsoft.