Instant CurrencyInstant Currency

Obtenir des taux de change historiques dans Google Sheets

Le taux de change d'aujourd'hui n'est pas toujours le bon. Vous clôturez peut-être la comptabilité du mois dernier et avez besoin du taux du dernier jour de la période, ou vous préparez une note de frais pour un voyage effectué il y a six semaines, ou encore vous devez vérifier la valeur exacte d'un paiement au moment où il a été traité. Dans tous ces cas, c'est un taux historique qu'il vous faut, pas le cours actuel du marché. Ce guide explique comment récupérer ces taux passés directement dans Google Sheets avec GOOGLEFINANCE.

Obtenir le taux pour une date précise

Voici la formule pour un taux historique sur une seule date :

=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", DATE(2024,1,15)), 2, 2)

L'enveloppe INDEX peut sembler inutile, mais elle est en réalité indispensable. Lorsque vous passez une date à GOOGLEFINANCE, la fonction ne renvoie pas un nombre unique. Elle retourne un petit tableau à deux colonnes : une ligne d'en-tête avec les libellés "Date" et "Close", suivie d'une ligne de données avec les valeurs réelles. Si vous essayez d'utiliser ce tableau directement, par exemple en le multipliant par un montant en dollars, Google Sheets renvoie une erreur car il ne peut pas multiplier un tableau par un nombre.

INDEX(_, 2, 2) règle le problème en extrayant une cellule précise de ce tableau. Le 2, 2 désigne la ligne 2, colonne 2, soit l'emplacement du taux réel.

Résultat brut de GOOGLEFINANCE montrant les colonnes date et prix

Une fois ce taux obtenu, le multiplier par une valeur de cellule fonctionne exactement comme avec un taux en temps réel :

=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", DATE(2024,1,15)), 2, 2) * A2

Cette formule prend le montant en dollars de la cellule A2 et le convertit en euros au taux du 15 janvier 2024.

Multiplication d'un taux historique par un montant en dollars

Notez que la formule utilise la fonction DATE() plutôt qu'une chaîne de texte comme "2024-01-15". Les deux fonctionnent dans bien des cas, mais DATE() est plus fiable. Si votre feuille est partagée avec des personnes dans des paramètres régionaux différents, ou si vous utilisez un modèle, les chaînes de date peuvent être interprétées différemment selon les paramètres locaux. DATE() élimine cette ambiguïté.

Formule de taux historique avec INDEX et GOOGLEFINANCE

Obtenir les taux sur une plage de dates

Si vous avez besoin des taux sur plusieurs jours, pour suivre l'évolution d'une devise sur un mois par exemple, vous pouvez passer une date de début et une date de fin :

=GOOGLEFINANCE("CURRENCY:USDEUR", "price", DATE(2024,1,1), DATE(2024,1,31))

Le résultat se déploie automatiquement sur plusieurs lignes. La première est un en-tête, et chaque ligne suivante correspond à un jour avec sa date et son taux de clôture. INDEX n'est pas nécessaire ici : vous voulez le tableau complet, pas une valeur unique.

C'est pratique pour construire un graphique. Collez la formule dans une cellule, laissez-la se développer, puis insérez un graphique en utilisant cette plage. Vous visualisez d'un coup d'œil l'évolution du taux sur la période.

Plage de dates de taux de change dans Google Sheets

Gardez à l'esprit que le résultat de cette formule occupe autant de lignes qu'il y a de jours dans la plage. S'il y a d'autres données sous la cellule où vous avez placé la formule, elles seront écrasées. Placez la formule dans une zone dégagée en dessous, ou réservez une feuille dédiée à ces données.

Mettre en forme le résultat

Deux problèmes de mise en forme reviennent presque à chaque fois.

D'abord, la colonne des dates affiche souvent des numéros de série au lieu de dates lisibles. Dans Google Sheets, les dates sont stockées en interne sous forme de nombres (le nombre de jours depuis le 30 décembre 1899), et le résultat de GOOGLEFINANCE arrive parfois sans format de date appliqué. Pour corriger cela, sélectionnez la colonne, allez dans Format > Nombre > Date, et l'affichage sera correct.

Ensuite, la colonne du taux est un décimal brut. Formatez-la selon les besoins de votre feuille : quatre décimales pour la précision, ou deux si vous l'utilisez dans une présentation. Allez dans Format > Nombre > Format numérique personnalisé et saisissez par exemple 0.0000 pour quatre décimales.

Choses à savoir

Problèmes de format de date. Comme indiqué plus haut, utilisez DATE() plutôt que des chaînes de texte pour éviter les problèmes liés à l'interprétation des dates selon les paramètres régionaux. DATE(2024, 1, 15) signifie le 15 janvier 2024 dans tous les paramètres. "1/15/2024" ne le garantit pas.

Taux de marché médian. GOOGLEFINANCE utilise les taux médians, qui se situent au milieu entre les taux d'achat et de vente. Votre banque n'utilise pas le taux médian. Elle applique un taux avec un écart ajouté par-dessus, c'est ainsi qu'elle gagne de l'argent sur les conversions de devises. Les chiffres que vous voyez dans Sheets seront donc légèrement différents de ceux figurant sur votre relevé bancaire ou le reçu de votre processeur de paiement. À des fins comptables, il peut être préférable de vérifier le taux historique de votre banque plutôt que de vous fier à GOOGLEFINANCE.

Paires de devises indisponibles. Toutes les paires de devises ne sont pas dans Google Finance. Les paires principales (USD/EUR, GBP/USD, USD/JPY) fonctionnent de manière fiable. Certaines devises moins courantes renvoient #N/A. Si vous obtenez cette erreur et que le code de devise semble correct, vérifiez d'abord si la paire existe bien dans Google Finance avant de supposer que la formule est incorrecte.

Et si vous avez besoin du taux pour une date dans une cellule ?

Vous pouvez remplacer les arguments de DATE() par des références de cellules. Si la date souhaitée est en B2 :

=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", B2), 2, 2)

Assurez-vous que B2 est formatée en tant que date dans Google Sheets, et non en texte. Si vous avez saisi la date comme du texte brut, GOOGLEFINANCE risque de ne pas la reconnaître. Vous pouvez vérifier le format en sélectionnant la cellule et en regardant Format > Nombre : il doit indiquer "Date", et non "Texte brut" ou "Automatique".

Utilisation d'une référence de cellule pour la date dans GOOGLEFINANCE

Cette approche est utile si vous avez une colonne de dates de transactions et souhaitez rechercher chaque taux automatiquement. Placez la formule GOOGLEFINANCE dans la colonne à côté des dates, avec B2 (ou la première cellule de date) comme argument de date, puis faites-la glisser vers le bas.

Construire un tableau de conversion avec des dates dynamiques

Voici une configuration fréquente dans les notes de frais : une colonne de montants en A, une colonne de dates en B, et vous avez besoin de la valeur convertie pour chaque ligne en fonction de la date de cette ligne.

En colonne C :

=INDEX(GOOGLEFINANCE("CURRENCY:USDEUR", "price", B2), 2, 2) * A2

Faites glisser vers le bas sur toutes vos lignes. Chaque ligne récupère le taux correspondant à sa propre date. Vous obtenez ainsi une colonne de valeurs converties, chacune avec le bon taux historique.

Tableau de dépenses avec les taux de change historiques par ligne

Un point à noter : chaque appel à GOOGLEFINANCE compte comme une requête de données distincte. Dans une feuille comportant des centaines de lignes, cela peut ralentir les calculs ou ponctuellement atteindre les limites de requêtes. Pour les grands jeux de données, il peut être plus pratique de récupérer les dates uniques séparément, d'extraire les taux dans une table de référence, et d'utiliser VLOOKUP ou XLOOKUP pour les associer : ainsi, chaque date unique n'est interrogée qu'une seule fois.

Instant Currency

Si vous préférez éviter l'enveloppe INDEX, Instant Currency propose un sélecteur de date pour les recherches historiques. Vous choisissez les devises, vous choisissez la date, et il s'occupe automatiquement de la construction de la formule et de la mise en forme. Il convertit aussi les cellules directement, ce qui est pratique quand vous n'avez pas besoin des formules et souhaitez simplement les valeurs.

Sélecteur de date Instant Currency pour les taux historiques

Pour les formules générales de conversion de devises, consultez notre guide pas à pas GOOGLEFINANCE. Si vous avez des questions sur un cas d'usage précis, écrivez-nous, nous serons ravis de vous aider.