Mise forme en fonction d'une devise

Bonjour,

J'aurais besoins que les cellules en jaune apparaissent dans la devise indiquée en H3 (liste déroulante en fonction du fournisseur).

Liste des monnaies concernées

USD (US Dollar Américain $)

EUR (Euro €)

GBP (Livre Britannique £)

MUR (Roupie mauricienne 0 000,00)

MGA (Ariary malgache 0 000)

JPY (Yen japonais ¥)

J'ai voulu partie d'une base BVA qui fonctionne pour mon module réception (fichier word joint) que je n'arrive pas à adapter....... incompétence... quand tu nous tiens...

Merci de votre aide

Ci-joint également le fichier concerné

capture
16reception-test.xlsm (106.17 Ko)

Bonjour,

Il n'y a rien dans J5, mets la cellule concernée ici :

If Not Intersect(Target, Range("J5")) Is Nothing Then

mais comme en H3 ce n'est pas une liste droulante mais une formule fonction de C3 :

=SI(ESTVIDE(C3);" ";RECHERCHEV(C3;Fournisseur!$B$4:$I$103;3;))

Il faut donc que tu mettes :

If Not Intersect(Target, Range("C3")) Is Nothing Then

ensuite, comme cela dépend de H3

Select Case Range("H3").Value

adapte aussi les

Case "USD - US Dollar"

car a priori ce ne sont pas ces valeurs


et change ensuite les zones où tu veux appliquer cette monnaie

    Range("H11:H35").NumberFormat = monnaie
    Range("I11:I35").NumberFormat = monnaie
    Range("M11:M35").NumberFormat = monnaie

supprime :

Private Sub Worksheet_Activate()
    DeProteger
    Liste_Description
    Proteger
End Sub

car c'est inutile ici


ce qui donne

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim monnaie As String
If Not Intersect(Target, Range("C3")) Is Nothing Then
    DeProteger
    Select Case Range("H3").Value
        Case "USD"
            monnaie = "[$$-409]#,##0.00"
        Case "EUR"
            monnaie = "#\ ##0.00 €"
        Case "GBP"
            monnaie = "[$£-en-GB]#,##0.00"
        Case Else
            monnaie = "#\ ##0.00"
    End Select

    Range("H11:H35").NumberFormat = monnaie
    Range("I11:I35").NumberFormat = monnaie
    Range("M11:M35").NumberFormat = monnaie

    Proteger
End If
End Sub

Sub Proteger()
On Error Resume Next
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Sub DeProteger()
On Error Resume Next
    ActiveSheet.Unprotect
End Sub
14reception-test.xlsm (102.24 Ko)

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Hi,

Merci à vous deux, j'ai rajouté le range ("M6:M7") pas peu fière, ainsi que les monnaies qui me manque.

gmb, quand la case H3 annonce USD, les cases s'affichent en €, je n'ai pas réussi à comprendre pourquoi

Encore merci pour votre aide

Nouvelle version.

Bye !

Merci

Super

Rechercher des sujets similaires à "mise forme fonction devise"