Microsoft 365 Automatiser la conversion des montants en fonction des devises

hugodbs

XLDnaute Nouveau
Bonjour à tous :D !

J'aurais également besoin de votre aide sur le fichier ci-joint s'il vous plaît 🥲 J'ai essayé de clarifier mes questions au mieux directement sur le fichier.

En bref, je dois d'abord retrouver des taux de change sur une période choisie, à partir d'une liste déroulante (onglet "FX rates"). Ensuite, je dois utiliser ces taux de change pour calculer les ventes par boutiques, avec des totaux par Market (pays) et un Grand Total pour toute la Zone (onglet "Output").

La difficulté vient surtout de la conversion des montants, que je dois automatiser. J'ai tenté une formule, mais elle est incomplète car je dois encore modifier manuellement le taux de change choisi pour convertir les montants.

Aussi, en + de mon tableau récapitulatif (que je dois garder), j'aimerais bien une alternative supplémentaire avec la création d'un TCD.

Si un crack d'Excel pouvait m'aider, ça m'arrangerait beaucoup 😁 !

Merci par avance !

Hugo
 

Pièces jointes

  • excel_probleme.xlsx
    145.9 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour hugodbs, Phil,
@hugodbs,
tu es un adepte du crossposting
Ayez au moins la politesse de prévenir.:rolleyes:

En PJ un essai.
Dans FX rates C2:C7 :
VB:
=INDEX(H2:Y2;EQUIV($C$1;$H$1:$Y$1;0))
Dans Output, pour éviter des formules à rallonge, j'ai créer une colonne Taux de change ( Col B ) avec :
Code:
=SIERREUR(SI($C$11="Local currency";1;RECHERCHEV(INDEX(db!A:A;EQUIV(Output!C14;db!B:B;0));'FX rates'!$B$2:$C$7;2;FAUX));"")
qui vaut 1 si Local currency, et le taux de change si c'est l' € qui est choisi.
Ce qui simplifie les formules du tableau :
Code:
=SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14)*$B14
 

Pièces jointes

  • excel_probleme.xlsx
    149.5 KB · Affichages: 5

hugodbs

XLDnaute Nouveau
Bonjour hugodbs, Phil,
@hugodbs,

Ayez au moins la politesse de prévenir.:rolleyes:

En PJ un essai.
Dans FX rates C2:C7 :
VB:
=INDEX(H2:Y2;EQUIV($C$1;$H$1:$Y$1;0))
Dans Output, pour éviter des formules à rallonge, j'ai créer une colonne Taux de change ( Col B ) avec :
Code:
=SIERREUR(SI($C$11="Local currency";1;RECHERCHEV(INDEX(db!A:A;EQUIV(Output!C14;db!B:B;0));'FX rates'!$B$2:$C$7;2;FAUX));"")
qui vaut 1 si Local currency, et le taux de change si c'est l' € qui est choisi.
Ce qui simplifie les formules du tableau :
Code:
=SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14)*$B14

Bonjour @sylvanu

Merci, c'est parfait pour l'onglet FX rates !

En revanche, sur l'onglet "Output", il faudrait idéalement une solution sans utiliser la colonne supplémentaire "Taux de change"... (quitte à avoir une formule à rallonge 🥲)

A partir de cette formule, n'y aurait-il pas un moyen de déterminer directement le taux de change en allant le chercher dans l'onglet FX rates ?

Code:
=SI($C$11="Local Currency";SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14);(SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14))/'FX rates'!$C$3)

Merci et bonne journée !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Comme en D14 vous avez :
VB:
SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14)*$B14
et qu'en B14 vus avez :
Code:
SIERREUR(SI($C$11="Local currency";1;RECHERCHEV(INDEX(db!A:A;EQUIV(Output!C14;db!B:B;0));'FX rates'!$B$2:$C$7;2;FAUX));"")
Il suffit de remplacer B14 par sa formule :
Code:
=SIERREUR(SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14)*SI($C$11="Local currency";1;RECHERCHEV(INDEX(db!$A:$A;EQUIV($C14;db!$B:$B;0));'FX rates'!$B$2:$C$7;2;FAUX));"")
 

hugodbs

XLDnaute Nouveau
Comme en D14 vous avez :
VB:
SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14)*$B14
et qu'en B14 vus avez :
Code:
SIERREUR(SI($C$11="Local currency";1;RECHERCHEV(INDEX(db!A:A;EQUIV(Output!C14;db!B:B;0));'FX rates'!$B$2:$C$7;2;FAUX));"")
Il suffit de remplacer B14 par sa formule :
Code:
=SIERREUR(SOMME.SI.ENS(db!$D:$D;db!$C:$C;Output!D$13;db!$B:$B;Output!$C14)*SI($C$11="Local currency";1;RECHERCHEV(INDEX(db!$A:$A;EQUIV($C14;db!$B:$B;0));'FX rates'!$B$2:$C$7;2;FAUX));"")

Rebonjour @sylvanu

C'est vraiment parfait merci !!!

Juste une dernière chose : serait-ce possible de faire la même chose sous la forme d'un TCD ?

J'ai testé (voir mon fichier d'origine, "Test TCD 1 et 2"), mais je ne trouve pas de solution pour avoir un filtre (ou une liste déroulante ?) permettant de choisir seulement entre "Local Currency" ou "Euro" (sans avoir la liste de toutes les devises locales).

Si tu as un moyen d'intégrer une liste déroulante avec ces deux choix, et de lier cette liste déroulante au TCD, je pense que ça serait parfait !

Encore merci !
 

Statistiques des forums

Discussions
315 088
Messages
2 116 089
Membres
112 658
dernier inscrit
doro 76