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