morickno
Messages postés117Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention26 juin 2007
-
18 juil. 2005 à 15:59
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 2011
-
18 juil. 2005 à 16:40
existe t'il une méthode permettant de faire un arrondi d'une valeur à la dizaine la plus proche,
par exemple si j'ai une variable = 16 je voudrai une méthode qui me retourne 20 si je lui est dit une fourchette de 10
et si je lui dit une fourchette de 20 , ca me retournerai 30 pour variable = 16
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 18 juil. 2005 à 16:14
Alors, un petit truc tout simple pour pouvoir arrondir à la dizaine, utiliser la fonction d'arrondi VB en "trichant" un tout petit peu.
Dim temp As Integer
temp = txtBox.text 'Zone où ton chiffre à arrondir se trouve
temp = temp / 10
temp = CInt(temp)
temp = temp * 10
txtBox2.text = temp 'Affichage de l'arrondi
Par ce biais, tu crées en fait ta variable avec une décimale et tu l'arrondis avec la fonction.
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 18 juil. 2005 à 16:40
par contre, j'ai beau chercher, pour ton histoire de fourchette, je ne vois pas comment faire. On peut arrondir de 20 en 20 au niveau des nombres pairs si tu as besoin, mais impair .. Je sèche.
En fait, il faut juste retenir la méthode suivante :
Soit X le chiffre que l'on veut arrondir.
On le multiplie par un coef fonction de l'arrondi que l'on veut obtenir, on utilise la fonction d'arrondi, et on divise par ce même coefficient.
Pour arrondir de 0,5 en 0,5 :
X x 2 => Arrondi de X => X / 2
De 0,25
X x 4 => Arrondi de X => X / 4
De 10
X x 0,1 (ou / 10) => Arrondi => X / 0,1 (ou x 10)
De 2 en 2
X x 0,5 ( ou / 2 ) => Arrondi => X / 0,5 (ou x 2)
De 100 en 100
X x 0,01 ( ou / 100) => Arrondi => X / 0,01 (ou x 100)
Avec ça, on peut donc bricoler ton arrondi de 20 en 20 :
X x 0,5 x 0,1 => Arrondi de X => X / 0,05