formateur informatique

Extraire ce qui est en dernière position dans un texte

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Extraire ce qui est en dernière position dans un texte
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Extraire le texte à la fin

Nous avions déjà développé une solution pour isoler les informations placées après la dernière occurrence d'un délimiteur.

Extraire les dernières informations de chaînes de textes par formule Excel

Sur l'exemple illustré par la capture, nous travaillons à partir de chemins d'accès à des fichiers. Ce sont les antislashs qui donnent le ton de la hiérarchie dans l'arborescence pour descendre dans les sous-dossiers respectifs. Sur la droite et par reconnaissance de l'occurrence cherchée, celle de l'antislash, nous parvenons à isoler le nom de chacun des fichiers.

Pour résoudre ce cas autrefois, nous avions bâti une formule efficace certes, mais à la syntaxe relativement complexe : =DROITE(B6; EQUIV($G$3; STXT(B6; NBCAR(B6)-LIGNE($1:$200); 1); 0)). Mais nous allons le découvrir, grâce à l'avènement des fonctions Texte.Avant et Texte.Apres, nous allons aujourd'hui pouvoir largement simplifier la solution. De plus, nous allons en profiter pour isoler le nom du dernier sous dossier hébergeant le fichier, celui qui est placé entre les deux derniers antislashs.

Classeur Excel à télécharger
Nous suggérons d'appuyer les travaux sur ce classeur des chemins d'accès aux fichiers. Nous trouvons bien des chemins d'accès sur la gauche d'un tableau. Les noms des derniers sous dossiers et des fichiers doivent être extraits en colonnes F et G. Pour la découpe, le délimiteur de l'antislash (\) doit être considéré dynamiquement. C'est la raison de sa présence en cellule H3.

Après le dernier délimiteur
Nous l'avons appris lors du volet précédent, le deuxième et le troisième paramètres des fonctions Texte.Avant et Texte.Apres sont essentiels. Ils permettent de définir respectivement le délimiteur et la position de ce dernier, à partir de laquelle il est question d'extraire les informations placées avant et après. Mais, nous allons le découvrir, en renseignant une valeur négative, nous allons être en mesure de considérer ces séparateurs dans le sens inverse, soit en partant de la fin de la chaîne à tronçonner. C'est comme cela que nous allons isoler facilement le dernier fragment de la chaîne.
  • Cliquer sur la cellule G6 pour désigner la case du premier nom de fichier à extraire,
  • Taper le symbole égal (=) pour amorcer la construction de la formule,
  • Inscrire la fonction pour prélever après, suivie d'une parenthèse, soit : Texte.Apres(,
  • Désigner la première chaîne à étudier en cliquant sur sa cellule B6,
  • Taper un point-virgule (;) pour passer dans l'argument du délimiteur,
  • Désigner l'antislash en cliquant sur la cellule H3,
  • Figer cette dernière en enfonçant la touche F4 du clavier, ce qui donne : $H$3,
En effet, nous allons répliquer cette formule sur les lignes du dessous pour analyser chaque adresse. Mais pour chacune, c'est bien le symbole situé en cellule H3 absolue qui doit être considéré. Cette référence ne doit donc pas suivre le mouvement de la formule.
  • Taper un point-virgule (;) pour passer dans l'argument de la position du délimiteur,
  • Puis, taper la valeur négative suivante : -1,
C'est de cette manière que nous indiquons à la fonction Texte.Apres d'extraire, non pas ce qui se situe après le premier délimiteur, mais plutôt après le dernier antislash.
  • Fermer la parenthèse de la fonction Texte.Apres,
  • Puis, valider la formule par le raccourci clavier CTRL + Entrée,
De cette façon, la cellule du calcul reste active. Comme vous pouvez le constater, grâce à cette astuce sur le délimiteur inversé, c'est bien le nom du fichier situé après le dernier antislash qui est extrait.

Extraire après le dernier délimiteur par formule Excel

Et si vous cliquez et glissez la poignée de la cellule G6 jusqu'en cellule G14, ce sont bien tous les noms de fichiers en bouts de chaînes qui sont extraits.

Le texte avant dernier
Maintenant, nous souhaitons extraire l'information placée entre les deux derniers antislashs. Il s'agit du nom du sous-dossier qui héberge le fichier. Nous devons récupérer ce qui est placé entre les deux derniers antislashs. La fonction Texte.Avant avec la valeur -1, prélève tout ce qui est placé avant le dernier antislash. Donc la fonction Texte.Apres avec cette même valeur une fois le texte réduit, permet de récupérer tout ce qui est placé après le nouveau dernier antislash. Il doit en résulter le nom du dossier du fichier extrait par la dernière formule.
  • Sélectionner la première case du sous-dossier à extraire en cliquant sur sa cellule F6,
  • Taper le symbole égal (=) pour initier la syntaxe de la formule,
  • Inscrire la fonction pour prélever après, suivie d'une parenthèse, soit : Texte.Apres(,
  • Lui imbriquer la fonction pour prélever avant, suivie d'une parenthèse : Texte.Avant(,
  • Désigner la première chaîne à triturer en cliquant sur sa cellule B6,
  • Taper un point-virgule (;) pour passer dans l'argument du délimiteur,
  • Cliquer sur la cellule H3 de l'antislash,
  • Puis enfoncer la touche F4 du clavier pour la figer, ce qui donne : $H$3,
En effet, nous allons répliquer cette formule sur les lignes du dessous. Et c'est bien toujours le même délimiteur qui doit être considéré, malgré le déplacement du calcul.
  • Taper un point-virgule (;) pour passer dans l'argument de la position du délimiteur,
  • Inscrire la valeur -1 pour désigner le dernier antislash,
De cette manière, dans l'information extraite par la fonction Texte.Avant, le dernier antislash est l'ancien avant dernier. C'est ainsi, par ce jeu d'imbrications, en désignant le dernier antislash, dans la fonction Texte.Apres, que nous allons pouvoir extraire l'information située entre les deux derniers délimiteurs, soit le nom du dossier hébergeant le fichier.
  • Fermer la parenthèse de la fonction Texte.Avant,
  • Taper un point-virgule pour passer dans l'argument du délimiteur de la fonction Texte.Apres,
  • Désigner de nouveau l'antislash en cliquant sur sa cellule H3,
  • La figer comme précédemment avec la touche F4 du clavier, ce qui donne : $H$3,
  • Taper un point-virgule (;) pourpasser dans l'argument de la position à déceler,
  • Taper la valeur -1 pour désigner le nouveau dernier antislash dans cette chaîne réduite,
  • Fermer la parenthèse de la fonction Texte.Apres,
  • Enfin, valider la formule par le raccourci clavier CTRL + Entrée,
De cette façon, la cellule du résultat reste active. Comme vous pouvez le voir, c'est bien le nom du sous dossier, situé entre les deux derniers antislashs qui est extrait. Cette imbrication des fonctions Texte.Apres et Texte.Avant est donc salvatrice quand il s'agit d'extraire des informations placées entre deux délimiteurs excentrés.

Si vous cliquez et glissez la poignée de la cellule F6 jusqu'en cellule F14, vous obtenez bien l'extraction de tous les sous dossiers hébergeant respectivement tous les noms de fichiers extraits par la première formule.

La syntaxe finale du calcul que nous avons construit est la suivante :

=TEXTE.APRES(TEXTE.AVANT(B6;$H$3; -1); $H$3; -1)

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn