Format de nombre...

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4814321
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"
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.
garnote
Le #4814311
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"
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.


garnote
Le #4814271
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"
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"
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.






Yvan
Le #4814191
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"
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.





Yvan
Le #4814171
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"
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.





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



"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"
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.





Yvan
Le #4814131
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"
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"
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.










Philippe.R
Le #4813931
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" 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"
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" 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.












MichDenis
Le #4813881
ç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"
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"
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"
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.










Publicité
Poster une réponse
Anonyme