Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Arrondi et format de nombre (vba)

N

Nat

Guest
Bonjour le forum,

P'tit pb qui me coince...
je veux arrondir des nombres et ensuite les formatter.. ou vice versa.. comment et dans quel ordre..

29.9999912 => 30
-19.99991 => <30
-0.499999 => <0.5

extrait du code:

Cells(n, i).Activate
Cells(n, i).NumberFormat = "# ##0.0;<# ##0.0"
Cells(n, i).Value = Round(ActiveCell, 3)

Fonctionne pas.. me donne 30.0,<30.0 etc...
Si j'arrondi avant le number format .. idem

D'avance merci à tous..

Nat
 
N

Nat

Guest
Allo,

Bon finalement j'ai trouvé la solution...

Cells(n, i).Activate
Cells(n, i).NumberFormat = "General;<Genera"
Cells(n, i).Value = Round(ActiveCell, 3)


J'avais essayé avec Standard et ca donnait vraiment des trucs bizarres.. Ben oui a la place de Standard il faut utiliser General..
Merci pareil a ceux qui me liront

Nat
 
R

Robert

Guest
Salut Nat, salut le forum,

Je suis content que tu ais trouvé car de mon coté je n'avais pas réussi. Voici ce que je te disais avant de réactualiser et de lire ton post :

Il y a une incohérence dans ta requête. Tu veux parfois un nombre entier, 30 pour 29.9999912 et parfois un nombre décimal -0.5 pour -0.499999.
Soit tu auras 30.0, <30.0 et <0.5 avec un NumberFormat = "# ##0.0;<# ##0.0". Soit tu auras 30, <30 et <1 avec un NumberFormat="# ##0;<# ##0".

À plus,

Robert
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…