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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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