Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Convertir les mots clés en majuscules
La formation précédente nous a montré comment extraire les
informations de dates encapsulées dans des chaînes de textes. Avec une
technique matricielle dérivée mais très similaire, nous allons voir maintenant comment convertir automatiquement en
majuscules les
mots clés dans des cellules de textes.
Classeur Excel à télécharger
Pour développer cette solution, nous proposons d'appuyer les travaux sur un
classeur offrant quelques phrases ainsi qu'une liste de mots clés à convertir.
Nous débouchons sur une feuille composée de trois tableaux, chacun constitué d'une seule colonne.
La première colonne énumère des phrases dans lesquelles des
mots clés à transformer en
majuscules sont à déceler.
La deuxième colonne est vide. Elle attend les formules permettant de restituer ces mêmes phrases mais avec les
transformations de casse à opérer sur les
mots clés listés dans la troisième colonne. La plage de ces mots clés est reconnue sous le
nom motsC. Vous pouvez le constater en déployant la
zone Nom en haut à gauche de la
feuille Excel. Cette plage doit nécessairement accueillir au moins une
cellule vide en queue de liste pour les phrases ne contenant aucun des mots clés. En effet, lorsque la
formule matricielle ne trouve aucune concordance (aucun mot clé), elle répond par
#N/A du fait de l'exploitation des
fonctions d'extraction.
L'idée globale est d'extraire le mot clé trouvé dans chaque phrase pour le remplacer par son homologue en majuscules.
La fonction de remplacement
Et précisément, nous suggérons de débuter la construction de la
syntaxe matricielle en faisant appel à la
fonction de remplacement.
- Cliquer sur la cellule E6 pour la sélectionner,
- Taper le symbole égal (=) pour débuter la construction de la formule matricielle,
- Inscrire la fonction de remplacement, suivie d'une parenthèse, soit : Substitue(,
- Désigner la cellule de la première phrase en cliquant sur la cellule B6,
- Puis, taper un point-virgule (;) pour passer dans l'argument du texte à remplacer,
Trouver le mot à remplacer
Pour trouver le
mot clé à remplacer, le principe consiste à l'extraire de la chaîne avec la
fonction Index en décelant la
position par une
recherche approximative de chacun de ces
mots clés de la
liste motsC dans la phrase.
- Inscrire la fonction d'extraction suivie d'une parenthèse, soit : Index(,
- Puis, désigner la plage des mots clés par son nom, soit : motsC,
C'est en effet depuis cette plage que nous devons réaliser l'extraction du fragment concordant à trouver dans chacune des phrases, pour ensuite le remplacer par son homologue en majuscule.
- Taper un point-virgule (;) pour passer dans l'argument de l'indice de ligne,
C'est la position du mot clé dans sa matrice qui nous intéresse. Elle peut être trouvée grâce à la
fonction Equiv.
- Inscrire la fonction de recherche suivie d'une parenthèse, soit : Equiv(,
- Puis, cliquer sur le petit bouton de l'assistant fonction à gauche de la barre de formule,
Il va livrer des résultats précieux au fil de la construction de la
formule matricielle. Nous comprendrons ainsi comment les éléments cherchés sont repérés et comment ils sont extraits.
- Dans la zone Valeur_cherchée, taper le chiffre 1,
Nous allons ainsi l'utiliser sous
forme logique pour trouver la position du
premier mot clé concordant (1) dans la
matrice motsC qu'il nous reste encore à exploiter dans l'argument du
tableau de recherche.
- Dans la zone Tableau_recherche, inscrire la fonction de dénombrement, soit : Nb.Si(,
En effet, c'est par
dénombrement que nous souhaitons entreprendre la
recherche approximative de
chaque mot clé, dans ce
raisonnement matriciel forcément
récursif.
- Cliquer sur la cellule B6 pour désigner la première phrase comme élément de recherche,
- Puis, taper un point-virgule (;) pour passer dans l'argument du critère de recherche,
- Taper le symbole de l'étoile entre guillemet, soit : "*",
En effet, un mot clé représente une partie potentielle de la phrase. Et c'est ce morceau que nous souhaitons trouver en agissant depuis la matrice des mots clés, dans chacune des phrases.
- Concaténer cette étoile avec la matrice des mots clés, soit : & motsC,
- Concaténer cette matrice avec une nouvelle étoile, soit : & "*",
C'est ainsi que nous recherchons chaque mot clé dans chaque phrase, quels que soient les textes placés avant (*) et après (*).
- Dès lors, fermer la parenthèse de la fonction Nb.Si,
Comme vous pouvez le voir, l'
assistant de la fonction Equiv donne d'ores et déjà des réponses convaincantes pour certaines et troublantes pour d'autres. La
matrice en regard de la
zone Tableau_recherche repère tous les
mots clés trouvés dans la première phrase, par des
chiffres 1. Le
mot clé Paris à transformer en
majuscule est effectivement situé en
troisième position de cette
matrice. Toutes les dernières repèrent les cellules vides qui sont forcément concordantes mais qui doivent être ignorées. Pourtant, le résultat livré (9) en bas de la boîte de dialogue, pointe sur cette dernière cellule vide. En effet, nous n'avons pas encore réglé le dernier argument de la
fonction Equiv, pour réaliser une recherche exacte sur le mot clé.
- Dans la zone Type, taper le chiffre 0,
Aussitôt, vous constatez que l'indice de ligne se réajuste parfaitement pour pointer sur le
mot clé Paris, qui va donc être extrait par la
fonction Index dans l'
argument du texte à remplacer de la
fonction Substitue.
Le texte de remplacement
Nous devons maintenant désigner le
texte de remplacement en troisième argument de la
fonction Substitue. Il s'agit du même que celui que nous venons de trouver mais Ã
convertir en majuscules. Toute la syntaxe de la
fonction Index doit donc être englobée dans la
fonction Excel Majuscule.
- Dans la barre de formule, cliquer à la fin de la syntaxe, après la parenthèse de la fonction Equiv,
- Fermer alors la parenthèse de la fonction Index,
- Puis, valider la demande d'Excel,
Elle surgit du fait que nous ayons quitté l'assistance pour la
fonction Equiv.
- Dans la barre de formule, copier l'intégralité de la syntaxe de la fonction Index, soit :
Index(motsC; EQUIV(1; NB.SI(B6; "*" & motsC & "*"); 0))
- Replacer le point d'insertion à la fin de la syntaxe,
- Taper un point-virgule (;) pour passer dans le troisième argument de la fonction Substitue,
Comme vous le voyez, l'assistant s'adapte. Il offre maintenant la possibilité de renseigner les arguments de la
fonction Substitue.
- Dans la zone Nouveau_texte, saisir la fonction Majuscule suivie d'une parenthèse,
- Puis, coller la syntaxe de la fonction Index précédemment copiée,
- Dès lors, fermer la parenthèse de la fonction Majuscule,
Comme vous pouvez le constater, dans ce
raisonnement matriciel, l'
assistant fonction a parfaitement trouvé le
mot clé à remplacer dans la chaîne par son homologue en
majuscules.
- Valider la formule matricielle par le raccourci clavier CTRL + MAJ + Entrée,
Nous obtenons une copie de la première phrase mais à un détail près. Le mot clé Paris qui est recensé dans la liste, est effectivement converti en lettres capitales.
- Cliquer et glisser la poignée du résultat jusqu'en cellule E14,
C'est une confirmation, tous les mots clés de la liste sont parfaitement convertis en majuscules dans chaque phrase où ils sont repérés. Mais seul un mot clé par cellule peut ainsi être impacté.
La syntaxe complète de la
formule matricielle que nous avons bâtie est la suivante :
=SUBSTITUE(B6; INDEX(motsC; EQUIV(1; NB.SI(B6; "*" & motsC & "*"); 0)); MAJUSCULE(INDEX(motsC; EQUIV(1; NB.SI(B6; "*" & motsC & "*"); 0))))