[Résolu] Arrondir avec la fonction Format

Arrondir avec la fonction Format [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 29-06-2009 à 11:42:28    

Bonjour,
 
Je fais une macro excel en VBA et j'ai un petit soucis avec la fonction Format()
 
Je veux que les chiffres soient arrondis à 2 chiffres apres la virgule
 
99.9999999 -> 100
85.366 -> 85,37
100 -> 100
 
Pour ce faire, j'ai utilisé le code suivant :
 

Code :
  1. Dim moy As Variant
  2. moy = Range("U31" ).Value
  3. moy = Format(moy, "0.#,#" )
  4. Selection.Characters.Text = "U31 = " & moy


 
Donc ca marche super pour  
lorsque Range("U31" ).Value=85.366       moy = 85,37
 
mais lorsque le resultat est un entier, il me laisse la virgule  
lorsque Range("U31" ).Value=100       moy = 100,
 
Comment puis je me debarrasser de cette virgule ?
Merci pour votre aide


Message édité par fatloui le 29-06-2009 à 14:15:23
Reply

Marsh Posté le 29-06-2009 à 11:42:28   

Reply

Marsh Posté le 29-06-2009 à 13:57:41    

Bonjour,
Je pense que format(moy, "#.##" ) fonctionnerait mieux

Reply

Marsh Posté le 29-06-2009 à 14:01:04    

merci pour ta reponse.
 
Je viens d'essayer et ca me donne la meme erreur
U31 = 100,

Reply

Marsh Posté le 29-06-2009 à 14:09:30    

Bon, alors ce que tu peux faire, c'est encore autre chose, utiliser la fonction arrondi (qui doit être round en VB mais à vérifier)
essayer:
debug.print arrondi(moy,2)
 
Là tu dois avoir en automatique quelque chose de limité à 2 chiffres.
Il y a aussi dans Excel arrondi.sup et arrondi.inf si tu veux forcer le sens de l'arrondi.
 

Reply

Marsh Posté le 29-06-2009 à 14:14:53    

Nikel, ca me donne exactement ce que je veux
 
moy = Round(moy, 2)
 
Merci pour ton aide ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed