Cet article va vous expliquer comment construire une formule de traduction dans Excel en utilisant les API de Google.
MISE A JOUR: Si vous travaillez avec la version 2407 d'Excel 365, vous pouvez utiliser la fonction TRADUIRE. Juste avec cette formule, la traduction est automatique dans Excel.
Excel est plus qu'un tableur
Pour beaucoup, Excel c'est juste un logiciel pour faire des calculs et des graphiques. Mais maintenant, Excel c'est bien plus que ça. En effet, il est également possible de se connecter à des services extérieurs, que l'on appelle des API (Application Program Interface) pour retourner un résultat.
Dans une précédente série de vidéos, je vous ai déjà montré comment retourner les coordonnées GPS à partir d'une adresse. Ici, nous allons voir comment utiliser une autre API pour traduire le contenu de nos cellules.
Etape 1 : Se connecter à Google Developer
Connectez-vous à la console des développeurs de Google à cette adresse https://console.developers.google.com/
Mais pour arriver sur cette page vous devez vous connecter avec votre compte Google. Il faut impérativement avoir un compte Google pour pouvoir utiliser le service de traduction.
Etape 2 : Accéder à la librairie des API Google
Ensuite, rendez-vous dans la section Bibliothèque.
Puis dans la liste des API Google, vous devez sélectionner Cloud Translation API.
Vous le trouverez facilement en effectuant une recherche sur son nom ou en sélectionnant la catégorie Machine Learning.
Etape 3 : Activez l'API
Ce n'est pas le plus compliqué mais si vous ne cliquez pas sur l'icône Activer, vous ne pourrez pas utiliser le service.
A partir du moment où vous activez l'API, vous acceptez les conditions d'utilisation. A savoir de devoir payer pour l'utilisation du service. Au moment où j'écris cet article, le 1er million de caractères traduit est gratuit. Ensuite, vous devez payer 20$ (USD) par tranche de chaque nouveau million.
Etape 4 : Activez une clé d'activation
Activer l'API ne suffit pas !!!! Vous devez aussi créer votre propre clé d'activation qui sera associée à votre compte Google pour la facturation éventuelle. Pour cela, rien de plus facile, il suffit de :
- Cliquez sur le menu Identifiants.
- Puis Créer des identifiants.
- Enfin, Clé API.
Et instantanément, une clé personnelle est générée.
A TOUT MOMENT, il vous suffit de revenir sur la page Identifiants pour retrouver votre clé personnelle pour la recopier.
Etape 5 : Construction de l'API
Tous les éléments nécessaires à l'utilisation de l'API sont maintenant réunis. Tout d'abord, il y a l'adresse pour appeler l'API.
https://translation.googleapis.com/language/translate/v2?
Ensuite, il faut renseigner les paramètres de l'API de la façon suivante :
- q = texte à traduire.
- source = langue du texte en entrée.
- target = langue à utiliser pour la traduction.
- key = votre clé d'API personnelle.
https://translation.googleapis.com/language/translate/v2?q=MonTexte&target=fr&source=en&format=text&key=MaClé
Pour utiliser le contenu de vos cellules comme paramètre de l'API, il faut transformer l'écriture en remplaçant le paramètre du texte à traduire avec les symboles de concaténation.
https://translation.googleapis.com/language/translate/v2?q="&A2&"&target=fr&source=en&format=text&key=MaClé
Les codes langues à utiliser pour les traductions sont présents dans cette page. Les principaux codes sont les suivants :
- en = Anglais.
- fr = Français.
- it = Italien.
- es = Espagnol.
- de = Allemand.
Etape 6 : Fonction SERVICEWEB
Il ne reste plus qu'à incorporer l'écriture précédente dans la fonction SERVICEWEB (à partir de la version Excel 2013) pour retourner le résultat de l'API.
=SERVICEWEB("https://translation.googleapis.com/language/translate/v2?q="&A2&"&target=fr&source=en&format=text&key=MaClé")
Si l'écriture de l'API n'est pas correcte, le résultat sera une erreur #VALEUR!
Une fois que vous avez vérifié l'exactitude de votre API, il vous suffit de recopier la formule pour traduire les autres cellules.
Formule de traduction personnalisée dans Excel
Maintenant, il faut nettoyer le texte pour ne conserver que la traduction.
Pour toutes les versions d'Excel
Mais vous pouvez aussi utiliser les fonctions de texte STXT, CHERCHE ainsi que l'astuce pour rechercher un caractère depuis la fin, pour rendre l'extraction automatique. De plus, pour indiquer que le dernier caractère est un guillemet, il faut l'indiquer avec son code ASCII ; CAR(34)
=STXT(B2;CHERCHE("Text";B2)+8;CHERCHE("µ";SUBSTITUE(B2;CAR(34);"µ";NBCAR(B2)-NBCAR(SUBSTITUE(B2;CAR(34);""))))-(CHERCHE("Text";B2)+8))
Fonctions LET et LAMBDA
Et si vous travaillez avec la version d'Excel 365, vous pouvez réduire l'écriture précédente avec l'instruction LET.
=LET(LngText;CHERCHE("Text";B2)+8;STXT(B2;LngText;CHERCHE("µ";SUBSTITUE(B2;CAR(34);"µ";NBCAR(B2)-NBCAR(SUBSTITUE(B2;CAR(34);""))))-LngText))
Vous pouvez aussi construire une fonction personnelle qui simplifiera l'utilisation de la fonction complexe précédente avec la fonction LAMBDA. Vous pouvez donner par exemple le nom EXTRAIRE.TRADUCTION.
=LAMBDA(monText;LET(LngText;CHERCHE("Text";monText)+8;STXT(monText;LngText;CHERCHE("µ";SUBSTITUE(monText;CAR(34);"µ";NBCAR(monText)-NBCAR(SUBSTITUE(monText;CAR(34);""))))-LngText)))