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

Petite explication sur Format

1 réponse
Avatar
Fred
Bonjour,

Afin de formater un nombre, j'utilise le code suivant:


If InStr(str_mot, "" & ",00") > 0 Then
If IsNumeric(str_mot) Then
str_mot = Format((str_mot), "#,##0.00")
End If
End If

Cela dit, le code semble parfois fonctionner de manière aléatoire...
Ce que j'en comprends est: si la chaîne contient un espace puis ,00 et si
elle est de forme numérique, applique le format 0.00
Alors que le format appliqué sur mes documents est: 0,00

...

Merci pour vos éclaircissements,

FRED.

1 réponse

Avatar
Anacoluthe
Bonjour !

'Fred' nous a écrit ...
If InStr(str_mot, "" & ",00") > 0 Then
If IsNumeric(str_mot) Then
str_mot = Format((str_mot), "#,##0.00")
End If
End If

Cela dit, le code semble parfois fonctionner de manière aléatoire...
Ce que j'en comprends est: si la chaîne contient un espace puis ,00 et si
elle est de forme numérique, applique le format 0.00
Alors que le format appliqué sur mes documents est: 0,00


Je vous conseille de lire le premier manuel de VB ou VBA
que vous trouverez pour comprendre les *types* de données :-p
InStr est une fonction sur des /chaînes/
IsNumeric est une fonction /chaîne/ : savoir si une conversion
numérique est possible
Votre Format s'applique à une donnée /numérique/
VB est capable de convertir une donnée chaîne en donnée numérique
selon les séparateurs numériques régionaux de votre système.
Vous devez d'abord décider clairement si str_mot est une chaîne ou
un nombre. Si c'est un nombre, il est facile de le formater avec
un séparateur décimal point. Si c'est une chaîne, il est facile
de remplacer la virgule par un point. Ne mélangez pas tout.

Anacoluthe
« Il y a quatre types idéals : le crétin, l'imbécile, le stupide et le fou.
Le normal, c'est le mélange équilibré des quatre. »
- Umberto ECO