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

Rechercher la dernière position d’un caractère
Dernière mise à jour le 05/02/2024
Temps de lecture : 3 minutes

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.

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

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

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

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.

Extraire le dernier mot avec la fonction TEXTE.APRES

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 :

Derniere position avec la fonction TEXTE.APRES

1 Comment

  1. Vincent Briquet
    06/03/2024 @ 22:57

    excellent !

    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. 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.

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

Reading time: 3 minutes
Dernière mise à jour le 05/02/2024

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.

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

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

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

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.

Extraire le dernier mot avec la fonction TEXTE.APRES

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 :

Derniere position avec la fonction TEXTE.APRES

1 Comment

  1. Vincent Briquet
    06/03/2024 @ 22:57

    excellent !

    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. 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.