Formules Excel + nom

Bonjour,

J'ai construit une base qui est en devise et je souhaiterai tout mettre en EURO rapidement.

J'ai donc calqué le même format/modèle entre mes onglets "BASE EURO" et "Base devise". Je récupère mes infos (Currency, centre) via des vlookup qui ont pour source l'onglet "Transco".

Ainsi j'ai le nom de la devise à appliquer.

J'ai "nommé" toutes les devises utilisées dans le fichier. Et je souhaiterai utiliser le résultat des vlookup pour y faire référence en tant que "nom" dans une autre formule.

Le but étant de ne pas renseigner directement (à la main) le "nom" USD.

Exemple :

'BASE EURO'!F2 = 'BASE devise'!F2*'BASE EURO'!A2

sachant que 'BASE EURO'!A2 = VLOOKUP($B2;Transco!$A:$B;2;FALSE)= USD

USD est un nom qui renvoi au taux = Transco!$F$2 = 1.35

J'ai trois base xls sous ce même schéma et je souhaiterai automatisé ce changement de devise via les vloopuk et name.

J'ai cherché un peu partout mais ne trouve pas cette formule qui me permettrait l'utilisation du résultat de la vlookup en tant que "nom".

Merci pour votre aide précieuse.

NB: version d'xls : 2003 SP3 english.

11devise.zip (16.35 Ko)

Bonjour et bienvenue,

Regarde cet exemple,

4 devises au choix, en haut à gauche

çà doit pouvoir s'adapter à ton cas

Amicalement

Claude

Bonjour et bienvenue sur le forum NooBDoG,

Utilise la fonction INDIRECT comme ceci (formule à mettre en F2) :

='BASE devise'!F2*INDIRECT('BASE EURO'!A2)

Edit : Salut claude !

SUPER !!!! J'étai sur que ca existait mais je ne trouvai pas...

Un GRAND Merci Claude(s)!!! et quelle rapidité dans la réponse! au top!

Noobdog

re,

à la relecture du fichier, je m'aperçois qu'on traine une multitude de décimales,

j'ai ajouté dans le code un arrondi pour y remédier

Sub Change()
'Macro par Claude Dubois pour "" Excel-Pratique le 19 août 2010
    Range("mult").Copy
With Range("tablo")
    .SpecialCells(xlCellTypeConstants, 1).PasteSpecial Operation:=xlMultiply
    Range("ap4") = Range("ap5")
    If Range("ap4") = 1 Then .Cells.NumberFormat = "0.00 €"
    If Range("ap4") = 2 Then .Cells.NumberFormat = "[$$-409]#,##0.00"
    If Range("ap4") = 3 Then .Cells.NumberFormat = "[$£-809]#,##0.00"
    If Range("ap4") = 4 Then .Cells.NumberFormat = "0.00 F"
    .Cells = Application.Round(.Cells, 3) 'arrondi
End With
    Application.CutCopyMode = False
    Application.Goto [b2], Scroll:=True
End Sub

Amicalement

Claude

Rechercher des sujets similaires à "formules nom"