Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

3 réponses
Avatar
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

3 réponses

Avatar
Daniel.C
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


Avatar
Jac
… 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




Avatar
Daniel.C
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