Comment convertir Excel en un moteur de recherche d'images comme dans Google Images ?
- Commencez par faire une recherche d'une image
Recopiez l'URL et coller-là dans Excel
- Transformer l'URL en URL dynamique
Nous allons ensuite transformer l'URL pour utiliser le contenu d'une cellule
- Utiliser la fonction SERVICEWEB
Cette fonction va nous permettre de récupérer le résultat de la requête de la recherche
- Récupérer l'URL de l'image
Avec quelques transformation, il est possible d'isoler l'URL de chaque image
- Fonction IMAGE
Enfin, il ne reste plus qu'à utiliser l'URL de l'image dans la fonction IMAGE pour utiliser Excel comme moteur de recherche d'images Google.
D'après une idée de Nicolas Brabant, Samuel Gothon-Raynaud et Martin AUBARD
Étape 1 : Faire une recherche dans Google Image
Commençons par faire une recherche sur une image dans Google Image. Ici, nous recherchons l'Arc de Triomphe.
Premier constat, l'URL généré est extrêmement longue
Étape 2 : Simplifier l'URL
Ensuite nous allons simplifier l'URL est procédant comme suit :
- Conserver le début de l'URL jusqu'à search?
- Supprimer toutes les indications entre search? et &q= (q signifie query, soit la requête)
- Identifier tbm=isch
- Supprimer tout ce qui est après
- L'URL devient
https://www.google.com/search?q=arc+de+triomphe&tbm=isch
Étape 3 : Transformer l’URL en utilisant le contenu de la cellule
Maintenant, nous allons transformer l'URL pour utiliser le contenu de la cellule B1. Pour cela nous allons nous servir du caractère & pour lier la partie fixe de l'URL avec le contenu de la cellule B1
Étape 4 : Utilisation de la fonction SERVICEWEB
Nous allons ensuite mettre cette URL dans la fonction SERVICEWEB afin de récupérer toutes les informations attachées à cette URL.
Le résultat est extrêmement riche et contient toutes les informations de la page Google Image. Si nous collons le résultat dans un document Word on peut voir que cette URL génère en réalité 9 pages de données. C'est ici que nous allons récupérer l'URL de chaque image de la page.
Toutes ces informations ne nous intéressent pas. Nous allons maintenant travailler la chaîne de caractères pour conserver uniquement l'URL d'une image.
Étape 5 : Exclure le début de la chaîne de caractères
Dans cette longue chaîne de caractères nous ne voulons pas conserver le début. Les informations qui vont nous intéresser commencent à partir de l'indication IMAGES</span>. C'est le "tag" du début de l'affichage des images dans la page web
Nous allons nous servir de la fonction TEXTE.APRES pour isoler le texte qui se trouve après cette chaîne de caractères spécifiques
Étape 6 : Rechercher l’instruction SRC
Dans une page web HTML, pour retrouver une image il faut retrouver la balise <img> qui contient la source de l'image. A l'intérieur de cette balise, nous avons l'instruction src= C'est donc en se basant sur ce terme que nous allons trouver l'URL de l'image
Étape 7 : Exclure la guillemet
Nous pouvons améliorer le découpage en ne conservant pas la première guillemet. Mais là, il faut ruser.
Les guillemets sont utilisés par Excel pour les chaînes de caractères. Donc, nous ne pouvons pas écrire =TEXTE.APRES(B4;"src="") car cela va provoquer une erreur de syntaxe.
Pour ajouter le symbole " à notre recherche, nous allons passer par l'instruction CAR. Cette fonction permet de retourner un caractère depuis son code ASCII. Le code pour la guillemet c'est 34. Donc la formule va devenir :
Étape 8 : Conserver uniquement l'URL de l'image
Maintenant il ne faut conserver QUE l'URL de l'image. Là encore nous allons nous baser sur le caractère guillemet pour repérer la fin de l'URL de l'image. Mais ici, nous allons utiliser la fonction TEXTE.AVANT pour conserver le texte avant la guillemet.
Étape 9 : Utiliser la fonction IMAGE
Pour finir, il nous suffit d'uiliser la fonction IMAGE d'Excel 365 pour convertir l'URL en image ??
Étape 10 : Comment récupérer l'image n
Nous pouvons améliorer le processus en récupérant non pas la première image, mais la 2e, 3e, .... Pour cela, il suffit d'apporter une simple modification à l'étape 6.
La fonction TEXTE.APRES possède un 3e argument qui va préciser si nous voulons récupérer le premier, deuxième, troisième terme recherché. Imaginons que nous voulons récupérer la deuxième image, nous allons simplement rajouter la valeur 2 à notre fonction
Avec cette simple modification, nous récupérons la deuxième URL d'image dans la requête. Et donc la fonction IMAGE, va afficher l'image google associée dans Excel.
Étape 11 (facultative) : Créer une fonction LAMBDA
Pour éviter de manipuler plusieurs cellules afin d'obtenir l'URL de chaque image, vous pouvez créer une fonction LAMBDA et lui donner un nom, comme ici GOOGLE.IMAGE.
Vous pouvez écrire votre fonction LAMBDA manuellement ou bien utiliser le complément AFE pour faire ce travail automatiquement. C'est ce qui est expliqué dans cet article.
matthieu
18/05/2024 @ 18:46
Bonjour, merci c'est vraiment génial. Par contre, j'ai essayé sur un gros fichier et bcp de cellules ont affichées l'erreur valeur ou connexion. En regardant de plus près, je me suis aperçu que la fonction seviceweb n'affiche plus les infos.Comment cela se fait il? Merci. Bonne soirée
Frédéric LE GUEN
19/05/2024 @ 07:12
Moi ça marche. Vous avez peut-être trop d'images et la fonction SERVICEWEB ne suit pas la demande.
MATTHIEU
22/05/2024 @ 16:30
Bonjour, effectivement j'ai revu l'url et cela fonctionne bien. Je vous en remercie encore. Est il possible de le faire avec un autre moteur de recherche d'images tel que Bing ? j'ai essayé SERVICEWEB avec une adresse Bing et cela me renvoie systématiquement une erreur VALEUR. Peut être savez vous pourquoi?
Merci encore,
Bonne fin de journée
Frédéric LE GUEN
09/06/2024 @ 10:21
Non, je ne sais pas. Je n'ai pas fait le test avec Bing (trop de travail par ailleurs)
Daoudi
01/02/2024 @ 08:07
Très intéressant c’est du génie 🤩