Verification cohenrence taux de change

Grek

XLDnaute Nouveau
Bonjour,

J aimerais ajouter une verification des taux de change dans une macro que j utilise afin de verifier que le taux de change journalier rentré est coherent avec le taux de change mensuel +/- 20% mais je vois pas trop comment faire ca.

Par exemple dans l exemple ci dessous j aimerais bien comparer mon taux USD/EUR avec la ligne 13, mais je ne sais pas comment lui faire comprendre ca par une formule, par exemple un double vlookup

Pourriez-vous m aider ?

Merci d'avance

Gregory


Column A Column B Column C
USD EUR 0.697593303 ligne 1
JPY EUR 0.007935248 ligne 2
CHF EUR 0.6433764 ligne 3
USD GBP 0.648130145 etc
JPY USD 0.011372683





Verif
USD EUR 0.697593303 ligne 13
USD GBP 0.648130145 ligne 14
JPY USD 0.011372683 etc
CHF EUR 0.6433764
EUR USD 1.4335
EUR JPY 126.0200059
JPY EUR 0.007935248
EUR CHF 1.554300096
GBP USD 1.542899999
USD JPY 87.93
 

Kotov

XLDnaute Impliqué
Re : Verification cohenrence taux de change

Bonjour Grek,

Je te propose la macro suivante, qui vérifie toutes les monnaies :

La difficulté avec tes valeurs, c'est le format US que je transforme en format FR grâce à la fonction SUBSTITUTE (remplacement du point par la virgule et passage du format texte au format numérique)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim M$, i&, r&
Dim x As Range
t = 0.2 '----- définition de la dérive acceptable. Modifiable bien entendue

For i = 13 To 22
 M = Cells(i, 1)
Set x = Range("A1:A6").Find(M, , xlValues, xlWhole, , , False)
    If Not x Is Nothing Then
        r = x.Row
        Select Case CDbl(Application.WorksheetFunction.Substitute(Cells(i, 2), ".", ","))
            Case Is > CDbl(Application.WorksheetFunction.Substitute(Cells(r, 2), ".", ",")) * (1 + t)
                Cells(i, 4) = "Dérive supérieure à la fourchette acceptée"
            Case Is < CDbl(Application.WorksheetFunction.Substitute(Cells(r, 2), ".", ",")) * (1 - t)
                Cells(i, 4) = "Dérive inférieure à la fourchette acceptée"
            Case Else
                Cells(i, 4) = "Dans la fourchette acceptable"
        End Select
    End If
Next i
End Sub

Tu trouveras un petit fichier avec un exemple. J'ai modifié quelques valeurs pour obtenir, dans cet exemple, des dépassements supérieurs à la norme, des inférieurs, et des données dans la fourchette.
Pour modifier l'écart autorisé, change la valeur t (exemple T= 0.17)

Bonne soirée
Kotov
 

Pièces jointes

  • VerifTauxdeChange.xls
    36 KB · Affichages: 62
Dernière édition:

job75

XLDnaute Barbatruc
Re : Verification cohenrence taux de change

Bonjour Grek, salut Kotov,

Le 1er tableau étant en A2:C10, entrer en D13 :

=SOMMEPROD(($A$2:$A$10=A13)*($B$2:$B$10=B13)*$C$2:$C$10)

puis en E13 :

=SI(ABS(C13-D13)/D13>20%;"incohérent";"")

et tirer vers le bas.

On a donc ramené simplement les valeurs du 1er tableau à côté du second.

La colonne D peut être masquée.

A+

Edition : si l'on préfère entrer directement en D13 :

Code:
=SI(ABS(C13-SOMMEPROD(($A$2:$A$10=A13)*($B$2:$B$10=B13)*$C$2:$C$10))/SOMMEPROD(($A$2:$A$10=A13)*($B$2:$B$10=B13)*$C$2:$C$10)>20%;"incohérent";"")
 
Dernière édition:

Statistiques des forums

Discussions
312 339
Messages
2 087 410
Membres
103 540
dernier inscrit
rmedramzi