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

Format de nombre...

9 réponses
Avatar
Yvan
Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 €")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.

9 réponses

Avatar
MichDenis
La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.
Avatar
garnote
Salut Yvan,

Je ne sais pas si on peut faire autrement mais avec Trim,
ça supprime les espaces au début et à la fin de la cellule.

Sub MaMacro()
[a2] = Trim(Format([a1] - [b1], "# ##0.00 ?"))
End Sub

Cela te convient-il ?

Serge

"Yvan" a écrit dans le message de news:
Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.


Avatar
garnote
J'ai trimé dur pour rien ;-)
Fallait attendre Denis.
Avec ma suggestion la cellule est formatée Standard.
Avec celle de Denis, elle est formatée Personnalisée.
Est-ce que ça change quelque chose si on utilise A2
pour faire des calculs ?

Serge


"garnote" a écrit dans le message de news:
Salut Yvan,

Je ne sais pas si on peut faire autrement mais avec Trim,
ça supprime les espaces au début et à la fin de la cellule.

Sub MaMacro()
[a2] = Trim(Format([a1] - [b1], "# ##0.00 ?"))
End Sub

Cela te convient-il ?

Serge

"Yvan" a écrit dans le message de news:
Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.






Avatar
Yvan
Merci, mais comment se fait-il que mon résultat ne s'affiche pas avec deux
décimales, mais bien plus ???
--
Merci pour vos réponses.



La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.





Avatar
Yvan
C'est peut-être parce que je mets du texte autour... Dans ce cas comment
faire pour conserver le format à deux décimales ???
--
Merci pour vos réponses.



La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.





Avatar
MichDenis
Dim X As String
With Range("A2")
X = Format(Range("A1"), "# ##.000 ?")
.Value = "Le texte que tu veux " & X & " Pourquoi pas?"
End With



"Yvan" a écrit dans le message de news:

C'est peut-être parce que je mets du texte autour... Dans ce cas comment
faire pour conserver le format à deux décimales ???
--
Merci pour vos réponses.



La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.





Avatar
Yvan
Négatif, tu as un espace avant ton nombre si ce dernier est inférieur à 1000.
AS-tu une autre solution, excepté passer par la fonction Trim ???
--
Merci pour vos réponses.



Dim X As String
With Range("A2")
X = Format(Range("A1"), "# ##.000 ?")
.Value = "Le texte que tu veux " & X & " Pourquoi pas?"
End With



"Yvan" a écrit dans le message de news:

C'est peut-être parce que je mets du texte autour... Dans ce cas comment
faire pour conserver le format à deux décimales ???
--
Merci pour vos réponses.



La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.










Avatar
Philippe.R
Bonsoir,
En passant, j'ose :

Dim X As String
With Range("A2")
X = Format(Range("A1"), "# ##0.00 €")
.Value = Replace("Le texte que tu veux " & X & " Pourquoi pas?", "
", " ")
End With

--
Philippe.R
"Yvan" a écrit dans le message de
news:
Négatif, tu as un espace avant ton nombre si ce dernier est inférieur à
1000.
AS-tu une autre solution, excepté passer par la fonction Trim ???
--
Merci pour vos réponses.



Dim X As String
With Range("A2")
X = Format(Range("A1"), "# ##.000 ?")
.Value = "Le texte que tu veux " & X & " Pourquoi pas?"
End With



"Yvan" a écrit dans le message de news:

C'est peut-être parce que je mets du texte autour... Dans ce cas comment
faire pour conserver le format à deux décimales ???
--
Merci pour vos réponses.



La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de
news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est
inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.












Avatar
MichDenis
ça prend 2 # avant le séparateur de millier comme ceci : "##,##0.00"
à l'instar du format que l'on détermine à partir du menu Format / cellule
qui lui requiert ceci : "#,##0.00")

Je suis sûr que tu as trouvé ! -;)

Dim X As String
With Range("A2")
X = Format(Range("A1"), "##,##0.00")
.Value = "Le texte que tu veux " & X & " Pourquoi pas?"
End With



"Yvan" a écrit dans le message de news:

Négatif, tu as un espace avant ton nombre si ce dernier est inférieur à 1000.
AS-tu une autre solution, excepté passer par la fonction Trim ???
--
Merci pour vos réponses.



Dim X As String
With Range("A2")
X = Format(Range("A1"), "# ##.000 ?")
.Value = "Le texte que tu veux " & X & " Pourquoi pas?"
End With



"Yvan" a écrit dans le message de news:

C'est peut-être parce que je mets du texte autour... Dans ce cas comment
faire pour conserver le format à deux décimales ???
--
Merci pour vos réponses.



La fonction Format() est utile en VBA
mais si tu veux formater une cellule à partir d'une procédure VBA,
tu dois utiliser la méthode "NumberFormat"

With Range("A2")
.NumberFormat ="# ##0.00 ?"
.Value = Range("A1")-Range("B1")
End With



"Yvan" a écrit dans le message de news:

Bonjour,

Lorsque j'utilise la syntaxe suivante, et si le nombre calculé est inférieur
à 1000, le nombre apparait avec un espace devant.

Range("A2")=Format(Range("A1")-Range("B1"),"# ##0.00 ?")

Comment faut-il l'écrire pour éviter cet espace ???
--
Merci pour vos réponses.