Les fonctions textes : CHERCHE
Description : Permet de rechercher un caractère (ou une chaîne de caractères) à l’intérieur d’une autre chaîne de caractères et de renvoyer le numéro de position.

Syntaxe : CHERCHE(texte_cherché;texte;no_départ)

texte_cherché correspond au texte que l’on désire retrouver dans la chaine de caractères et dont on veut la position.
texte correspond à la chaîne de caractères dans laquelle rechercher le texte.
no_départ correspond au numéro du caractère à partir duquel la recherche doit débuter.

Note : Il est possible d’utiliser des caractères génériques pour remplacer des caractères dans le texte_cherché : Le point d’interrogation (?) peut remplacer un caractère unique et l’astérisque (*) peut remplacer une séquence de caractères.

Exemple : Soit un tableau présentant des logs de connexion étant composés d’une chaîne de caractères dont les éléments ne sont pas fixes. Le but est d’extraire de cette chaîne une partie du texte. Nous allons extraire plusieurs chaînes de caractères pour bien décrire les possibilités de la fonction.

Aperçu du tableau :
Exemple tableau fonction CHERCHE



Premier exemple : Nous allons commencer par extraire l’adresse du site internet. Cette adresse se trouve dans la deuxième chaîne de caractères du fichier log. Nous avons donc un critère pour faire notre recherche. Nous allons demander à Excel de nous indiquer la position du premier espace, de nous indiquer ensuite la position du deuxième espace et enfin, d’extraire tout les caractères se trouvant entre ces deux espaces.

Recherche de la position du premier espace :

Les citères seront (pour la cellule A8) :
texte_cherché :  »  » (car nous recherchons un espace)
texte : A1
no_départ : 1

La formule sera (pour la cellule A8) :
=CHERCHE( » « ;A1;1)

Aperçu :
Recherche du premier espace



Nous allons maintenant rechercher quelle est la position du deuxième espace :

Les critères seront (pour la cellule B8) :
texte_cherché :  » « 
texte : A1
no_départ : A8+1 (On ajoute 1 pour que la formule démarre la recherche à partir du caractère suivant le première espace)

La formule sera (pour la cellule B8) :
=CHERCHE( » « ;A1;A8+1)

Aperçu :
Recherche du deuxième espace

Maintenant que nous disposons des informations concernant la position du premier et du deuxième espace, nous allons pouvoir extraire facilement l’adresse du site en utilisant la fonction STXT (pour plus d’informations sur l’utilisation de la fonction STXT, rendez-vous sur la fiche Les fonctions textes : STXT)

Les critères seront (pour la cellule C8) :
texte : A1
no_départ : A8+1 (Le +1 permet de démarrer l’extraction au caractère suivant le premier espace identifié par nos précédentes formules)
no_car : B8-(A8+1) (nous allons extraire les n caractères suivants le premier espace. n correspond à la différence entre la position du deuxième espace et celle du premier caractère suivant le premier espace)

Aperçu :
Extraction de l'adresse du site avec STXT

La fonction a été décomposée en plusieurs étapes pour illustrer la logique de fonctionnement. Nous allons maintenant refaire la même chose, mais en une seule formule.

Les critères seront :
texte : A1
no_départ : (CHERCHE( » « ;A1;1))+1
no_car : CHERCHE( » « ;A1;(CHERCHE( » « ;A1;1))+1)-((CHERCHE( » « ;A1;1))+1)

La formule sera :
=STXT(A1;(CHERCHE( » « ;A1;1))+1;CHERCHE( » « ;A1;(CHERCHE( » « ;A1;1))+1)-((CHERCHE( » « ;A1;1))+1))
Cette formule donne le même résultat que les exemples précédents, mais en une seule étape.

Bien que complexe, cette formule fonctionne quelque-soit le nombre de caractères de l’adresse du site internet. Nous aurions pu simplifier la formule en indiquant en dur le nombre de caractères à extraire (23) mais cela impliquerait de transformer la formule en cas de changement d’adresse.
Exemple de formule simplifiée mais limitée :
=STXT(A1;(CHERCHE( » « ;A1;1))+1;23)



Autre exemple : L’objectif est d’extraire la chaîne de caractères comportant la date et l’heure. Si l’on se réfère aux données précédentes, nous aurions pu utiliser la même méthode que vue précédemment et faire une recherche sur le caractère [. Pour compliquer un peu l’exemple, nous allons rajouter des caractères [ dans les deux première lignes du log et tenter ce créer une formule qui fonctionne dans tous les cas.

La chaîne de caractères est composée par un nombre fixe de caractères (28) et présente un format standard. Nous allons donc baser la recherche sur ce format.

Aperçu :
Exemple utilisation fonction CHERCHE

Les critères seront (pour la cellule A8) :
texte_cherché : « [??/???/????:??:??:?? +????] »
texte : A1
no_départ : 1

La formule sera (pour la cellule A8) :
=CHERCHE(« [??/???/????:??:??:?? +????] »;A1;1)

Il ne reste plus qu’à inclure cette formule dans une fonction STXT pour extraire la chaîne de caractères désirée.
La formule sera :
=STXT(A1;CHERCHE(« [??/???/????:??:??:?? +????] »;A1;1);28)

Aperçu :
Exemple utilisation fonction CHERCHE