Formatage monétaire à la française ou à l'anglaise selon condition

Le
Jac
Bonjour à tous,

pour une valeur de 1234567,89 j'ai besoin d'afficher
1 234 567,89 EUR ou EUR 1,234,567.89
selon que j'imprime en français ou en anglais, condition définie par
une cellule de mon tableau qui contient "FR" ou "UK".

J'ai pensé à décomposer la valeur en tranches de trois chiffres et de
recomposer le résultat en texte avec les attributs qui vont bien, mais
il y a sûrement une solution plus simple.
Il y a aussi les options régionales et linguistiques, mais pour
faire en sorte que ça change chaque fois que nécessaire, je ne suis pas
sûr que ce soit un bon plan automatisable et je ne suis pas sûr
d'avoir toujours les droits pour le faire.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19455131
Bonjour.
Ca doit pouvoir se faire avec une macro. Si tu es d'accord, dis-le.
Cordialement.
Daniel

Bonjour à tous,

pour une valeur de 1234567,89 j'ai besoin d'afficher
1 234 567,89 EUR ou EUR 1,234,567.89
selon que j'imprime en français ou en anglais, condition définie par une
cellule de mon tableau qui contient "FR" ou "UK".

J'ai pensé à décomposer la valeur en tranches de trois chiffres et de
recomposer le résultat en texte avec les attributs qui vont bien, mais il y a
sûrement une solution plus simple.
Il y a aussi les options régionales et linguistiques..., mais pour faire en
sorte que ça change chaque fois que nécessaire, je ne suis pas sûr que ce
soit un bon plan automatisable... et je ne suis pas sûr d'avoir toujours les
droits pour le faire.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac


Jac
Le #19459471
… bien sûr que je suis d'accord.

Après mûre réflexion, Daniel.C a écrit :
Bonjour.
Ca doit pouvoir se faire avec une macro. Si tu es d'accord, dis-le.
Cordialement.
Daniel

Bonjour à tous,

pour une valeur de 1234567,89 j'ai besoin d'afficher
1 234 567,89 EUR ou EUR 1,234,567.89
selon que j'imprime en français ou en anglais, condition définie par une
cellule de mon tableau qui contient "FR" ou "UK".

J'ai pensé à décomposer la valeur en tranches de trois chiffres et de
recomposer le résultat en texte avec les attributs qui vont bien, mais il y
a sûrement une solution plus simple.
Il y a aussi les options régionales et linguistiques..., mais pour faire en
sorte que ça change chaque fois que nécessaire, je ne suis pas sûr que ce
soit un bon plan automatisable... et je ne suis pas sûr d'avoir toujours
les droits pour le faire.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac




Daniel.C
Le #19460481
Bonjour.
A condition que le format de toutes les cellules soit à modifier;
sinon, il faut le faire plage par plage :

Sub test()
If LCase([A1]) = "uk" Then
Application.ThousandsSeparator = ","
Application.DecimalSeparator = "."
Application.UseSystemSeparators = False
Cells.NumberFormat = """EUR ""#,##0.00"
ElseIf LCase([A1]) = "fr" Then
Application.UseSystemSeparators = True
Cells.NumberFormat = "#,##0.00"" EUR"""
End If
End Sub

Daniel

… bien sûr que je suis d'accord.

Après mûre réflexion, Daniel.C a écrit :
Bonjour.
Ca doit pouvoir se faire avec une macro. Si tu es d'accord, dis-le.
Cordialement.
Daniel

Bonjour à tous,

pour une valeur de 1234567,89 j'ai besoin d'afficher
1 234 567,89 EUR ou EUR 1,234,567.89
selon que j'imprime en français ou en anglais, condition définie par une
cellule de mon tableau qui contient "FR" ou "UK".

J'ai pensé à décomposer la valeur en tranches de trois chiffres et de
recomposer le résultat en texte avec les attributs qui vont bien, mais il
y a sûrement une solution plus simple.
Il y a aussi les options régionales et linguistiques..., mais pour faire
en sorte que ça change chaque fois que nécessaire, je ne suis pas sûr que
ce soit un bon plan automatisable... et je ne suis pas sûr d'avoir
toujours les droits pour le faire.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac






Publicité
Poster une réponse
Anonyme