Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Isoler les valeurs entre parenthèses
Lorsque les données sont importées depuis diverses sources externes, les informations ne sont pas forcément séparées explicitement. Et dans ces conditions, il apparaît compliqué de les traiter indépendamment.
C'est le cas sur l'exemple illustré par la capture. Des candidats sont inscrits en première colonne d'un tableau. Chacun est accompagné de son
score à une évaluation entre parenthèses. Mais un judicieux calcul engageant des
fonctions de traitement de texte permet d'isoler ces
scores pour les
extraire indépendamment dans une deuxième colonne de ce tableau. Dès lors, il devient un jeu d'enfant de purger les noms des informations résiduelles en troisième colonne.
Classeur source
Pour la démonstration de cette nouvelle
astuce Excel, nous proposons d'appuyer l'étude sur un
classeur offrant ces
informations à détacher.
Nous réceptionnons bien un tableau de trois colonnes. Les candidats sont listés en première colonne avec leurs scores. Les informations détachées sont attendues en deuxième et troisième rangée, respectivement les
colonnes E et F.
Découper sur des caractères remarquables
Les
parenthèses sont des caractères remarquables. Il est facile de les identifier dans une
chaîne de texte. La première, la
parenthèse ouvrante, annonce le
point de départ de la découpe. La seconde, la
parenthèse fermante annonce le pont final. Et pour réaliser cette
découpe,
Excel offre une fonction dédiée. Il s'agit de la
fonction Stxt à laquelle il faut indiquer la
position de départ et la
longueur de découpe.
- Sélectionner le premier score à isoler en cliquant sur la cellule E4,
- Taper le symbole égal (=) pour initier la syntaxe de la formule,
- Inscrire la fonction de découpe suivie d'une parenthèse, soit : Stxt(,
- Désigner le texte à transformer en cliquant sur le premier candidat en cellule D4,
- Taper un point-virgule (;) pour passer dans l'argument de la position de départ,
Nous l'avons évoqué, cette position de départ pour la découpe peut être trouvée par la recherche de la parenthèse ouvrante. La
fonction Excel Cherche est donc à l'honneur.
- Inscrire la fonction de recherche suivie d'une parenthèse, soit : Cherche(,
- En guise de texte cherché, taper une parenthèse ouvrante entre guillemets, soit : "(",
- Puis, taper un point-virgule (;) pour passer dans l'argument du texte de recherche,
Cette parenthèse doit être trouvée dans la cellule du candidat. Comme la formule déborde sur la case, il n'est pas possible de la cliquer pour la désigner. Il suffit de saisir ses coordonnées.
- Inscrire les coordonnées de la cellule du premier candidat, soit : D4,
- Puis, fermer la parenthèse de la fonction Cherche,
- Dès lors, ajouter une unité à ce score, soit : +1,
En effet, la
découpe doit débuter après la parenthèse trouvée et non avant. C'est la raison pour laquelle nous déplaçons le curseur d'un caractère vers la droite.
- Taper un point-virgule (;) pour passer dans l'argument de la longueur de découpe,
Pour cette
longueur de découpe, il suffit de faire la différence entre la
position trouvée pour la
parenthèse fermante et la
position trouvée pour la
parenthèse ouvrante. Une unité doit cependant être retranchée à ce score, car bien que la
parenthèse fermante soit placée après le score, la
parenthèse ouvrante est située avant. C'est ainsi que nous pouvons l'exclure du décompte.
- De fait, construire la syntaxe suivante pour trouver la longueur entre les parenthèses :
Cherche(")";D4) - Cherche("(";D4)-1
- Dès lors, fermer la parenthèse de la fonction Stxt,
- Puis, valider la formule par le raccourci clavier CTRL + Entrée,
- Ensuite, double cliquer sur la poignée du résultat pour répandre la logique sur le tableau,
Comme vous pouvez le voir, tous les
scores sont parfaitement isolés de leurs chaînes d'origine. De plus, la syntaxe que nous avons construite reste très accessible :
=STXT(D4; CHERCHE("(";D4)+1; CHERCHE(")"; D4) - CHERCHE("("; D4)-1)
Purger les chaînes des noms
Maintenant, il nous reste à isoler les noms des candidats en troisième colonne. Le plus dur est fait. Dans le texte d'origine, il suffit de supprimer l'information que nous venons d'extraire, sans oublier les parenthèses encadrantes. Et pour cela, nous pouvons remplacer l'assemblage (concaténation) par une chaîne vide. C'est donc la fonction de
remplacement Substitue qui est cette fois de mise.
- En cellule F4, construire et valider la syntaxe suivante : =SUBSTITUE(D4;"(" & E4 & ")";""),
- Double cliquer ensuite sur la poignée du résultat pour propager la formule sur le tableau,
Comme vous pouvez l'apprécier, nous avons parfaitement réussi à morceler les informations qui étaient pourtant réunies à tort, dans la version du tableau que nous avons récupéré.