Rechercher la dernière position d’un caractère

Temps de lecture : 3 minutes

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 \.

Chemin dacces des repertoires

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)

Nombre de caracteres dans la chaine de caracteres

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;"\";"")

Chaine de caracteres sans le symbole recherche

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;"\";""))

Nombre de fois que le symbole de rupture est present

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)

Remplacement uniquement du dernier caractere de rupture

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))

Trouver la position du caractere rajoute

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;"")))))

Listes des fonctions personnalisees

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

Fonction personnalisee pour trouver la derniere position dun caractere

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

Leave a Reply

Your email address will not be published. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

RECHERCHE D’EMPLOI AVEC