Formats monétaires selon condition

Bonjour à tous,

Je travaille sur Excel 2010

J’ai un petit souci de format conditionnel de cellule (je pense que ça s’appelle à peu près comme ca…)

J’aimerais que le format monétaire d’une des cellules d’un de mon document change selon le contenu d’une autre :

Je m’explique,

Mon classeur comporte plusieurs feuilles dont « calcul » et « offre ». La cellule « Calcul!Q37 » indique la monnaie dans laquelle devrait être la cellule « Offre!E24 ».

Les deux devises possibles sont EUR et USD… Je ne trouve pas de format ou mise en forme conditionnelle capable de résoudre mon problème et je ne gère pas trop les macro.

Quelqu’un peut m’aider ?

Merci d’avance

Bonjour,

Une proposition avec une procédure évènementielle.

La modification dans la cellule Q37 de la feuille "Calcul" provoque le changement du format de la cellule E24 de la feuille "Offre".

A+

66pitchoum.zip (15.12 Ko)

Merci beaucoup Frangy c'est top!

Est-ce que tu arrives à m'expliquer un tout petit peu plus en détail comment tu as fait ca stp?

Comme je te l'ai indiqué, j'ai utilisé une procédure évènementielle (Worksheet.Change) qui permet de détecter la modification de la cellule Q37 de la feuille "Calcul".

La procédure réalise alors le changement du format de la cellule E24 de la feuille "Offre".

Pour la visualiser :

Alt + F11 pour ouvrir l'éditeur VBA,

Ctrl + R pour ouvrir l’explorateur de projets,

double-clic sur le module Feuil1(Calcul) pour voir le code.

Voici le code avec quelques commentaires :

Private Sub Worksheet_Change(ByVal Target As Range)
    'Si la plage modifiée comprend plus d'une cellule, on sort de la procédure
    If Target.Count > 1 Then Exit Sub
    'Si la cellule modifiée est Q37, alors
    If Target.Address = "$Q$37" Then
        With Sheets("Offre")
            Select Case Target.Value
                'Si la valeur de Q37 est "EUR", on applique le format EUR à Offre!E24
                Case "EUR": .Range("E24").NumberFormat = "#,##0.00 $"
                'Si la valeur de Q37 est "USD", on applique le format USD à Offre!E24
                Case "USD": .Range("E24").NumberFormat = "[$$-409]#,##0.00"
                'Dans tous les autres cas, on applique le format standard à Offre!E24
                Case Else: .Range("E24").NumberFormat = General
            End Select
            'On active la feuille "Offre"
            .Activate
        End With
    End If
End Sub

A+

Rechercher des sujets similaires à "formats monetaires condition"