OVH Cloud OVH Cloud

Fonction format

2 réponses
Avatar
John
Bonjour, j'ai créé un état dans lequel je présente des données numériques.

Je dois les présenter en format monétaire anglais. Donc je dois voir
apparaître $1,500 par exemple, et non pas le format francophone 1 500$.

Pour ce faire, je pensais bien utiliser la fonction "Format", mais lorsque
j'inscris
= Format( Valeur ; "$#,000") , Access vient tout simplement me mettre 3
décimales à la fin, au lieu de séparer les milliers par une virgule.

Est-ce qu'il y a une façon de le faire?

Merci

2 réponses

Avatar
Gilles MOUGNOZ
Bonjour, j'ai créé un état dans lequel je présente des données numériques.
Je dois les présenter en format monétaire anglais. Donc je dois voir
apparaître $1,500 par exemple, et non pas le format francophone 1 500$.
Pour ce faire, je pensais bien utiliser la fonction "Format", mais lorsque
j'inscris
= Format( Valeur ; "$#,000") , Access vient tout simplement me mettre 3
décimales à la fin, au lieu de séparer les milliers par une virgule.
Est-ce qu'il y a une façon de le faire?
Merci


Bonjour, John

Le plus simple serait de modifier le paramétrage Windows et de définir le
point comme séparateur décimal et la virgule comme séparateur de milliers.
Dans ce cas, la formule << = Format( Valeur ; "$#.##0") >> devrait
fonctionner à merveille.
Sinon, il est possible de forcer l'affichage d'un caractère dans le format
mais il sera alors affiché quel que soit le chiffre en paramètre.
Ex: Format( Valeur ; "$#,##0") donne $1,500 pour 1.500 mais renvoie $,150
pour 150 et $1500,000 pour 1.500.000.
Si tu veux utiliser cette solution pour éviter de changer le paramétrage des
postes, il faudrait créer une fonction spécifique.

Bonne continuation

Avatar
Jac
Salut John,

pour que tes valeurs apparaissent au format monétaire anglais sur n'importe
quelle configuration de poste, il faut que tu fasses un traitement de chaîne
de caractères en recomposant, dans un champ calculé, avec éventuellement des
champs intermédiaires pour éviter des formules interminables, un champ texte
qui ne servira qu'à l'affichage.

Exemple pour une fourchette comprise entre 1.000 et 999.999 sans traiter les
décimales (à remettre en un seul morceau) :

FormatAnglais: "$" & Ent([PrixAchat]/1000) & "," &
Format([PrixAchat]-Ent([PrixAchat]/1000)*1000;"000")

Pour les valeurs inférieures à mille et à partir d'un million, il faudra
mettre en place des calculs conditionnels.

On en reparle à l'occasion.

Jac

Bonjour, j'ai créé un état dans lequel je présente des données
numériques.
Je dois les présenter en format monétaire anglais. Donc je dois voir
apparaître $1,500 par exemple, et non pas le format francophone 1 500$.
Pour ce faire, je pensais bien utiliser la fonction "Format", mais
lorsque
j'inscris
= Format( Valeur ; "$#,000") , Access vient tout simplement me mettre 3
décimales à la fin, au lieu de séparer les milliers par une virgule.
Est-ce qu'il y a une façon de le faire?
Merci