OVH Cloud OVH Cloud

Arroundir à la dizaine superieur

9 réponses
Avatar
vativato
boujour =E0 tous
je voudrai arroundir =E0 la dizaine superieur
exple 41 =3D> 50

merci

9 réponses

Avatar
Ledev
"vativato" a écrit dans le message de
news:08b301c34f8e$c2383640$
boujour à tous
je voudrai arroundir à la dizaine superieur
exple 41 => 50



arondie = CInt(Nbr / 10) * 10
Avatar
Bismark Prods
erreur ! 41 = 40 avec ton modele !


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

"vativato" a écrit dans le message de
news:08b301c34f8e$c2383640$
> boujour à tous
> je voudrai arroundir à la dizaine superieur
> exple 41 => 50

arondie = CInt(Nbr / 10) * 10





Avatar
François Picalausa
Bonjour/soir,

ça c'est à la dizaine inférieure...

49 => 40

Avec ce code, ça devrait fonctionner:
Function CustomRound(Value As Single) As Integer
CustomRoundint = ((Value/10)+0.9)*10
End Function

CustomRound(30)0
CustomRound(31)@
CustomRound(39)@

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Ledev wrote:
"vativato" a écrit dans le message de
news:08b301c34f8e$c2383640$
boujour à tous
je voudrai arroundir à la dizaine superieur
exple 41 => 50



arondie = CInt(Nbr / 10) * 10


Avatar
Bismark Prods
moi je propose un traitement de chaine puisqu'il ne s'agit que d'arrondir la
dizaine !

Private Sub Command1_Click()
Dim unite As String
Dim dizaine As String
Dim chaine As String

chaine = Text1.Text

unite = "0"

dizaine = Mid(chaine, Len(chaine) - 1, 1)

dizaine = CStr(Val(dizaine) + 1)

chaine = Mid(chaine, 1, Len(chaine) - 2) & dizaine & unite
Text1.Text = chaine
End Sub


"François Picalausa" a écrit dans le message de
news:
Bonjour/soir,

ça c'est à la dizaine inférieure...

49 => 40

Avec ce code, ça devrait fonctionner:
Function CustomRound(Value As Single) As Integer
CustomRoundint = ((Value/10)+0.9)*10
End Function

CustomRound(30)0
CustomRound(31)@
CustomRound(39)@

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Ledev wrote:
> "vativato" a écrit dans le message de
> news:08b301c34f8e$c2383640$
>> boujour à tous
>> je voudrai arroundir à la dizaine superieur
>> exple 41 => 50
>
> arondie = CInt(Nbr / 10) * 10




Avatar
François Picalausa
Bonjour/soir,

AMHA, il ne veut arrondir qu'a partir de 1 et pas de 0 comme le fait ta
fonction....

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Bismark Prods wrote:
moi je propose un traitement de chaine puisqu'il ne s'agit que
d'arrondir la dizaine !

Private Sub Command1_Click()
Dim unite As String
Dim dizaine As String
Dim chaine As String

chaine = Text1.Text

unite = "0"

dizaine = Mid(chaine, Len(chaine) - 1, 1)

dizaine = CStr(Val(dizaine) + 1)

chaine = Mid(chaine, 1, Len(chaine) - 2) & dizaine & unite
Text1.Text = chaine
End Sub


"François Picalausa" a écrit dans le message de
news:
Bonjour/soir,

ça c'est à la dizaine inférieure...

49 => 40

Avec ce code, ça devrait fonctionner:
Function CustomRound(Value As Single) As Integer
CustomRoundint = ((Value/10)+0.9)*10
End Function

CustomRound(30)0
CustomRound(31)@
CustomRound(39)@

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Ledev wrote:
"vativato" a écrit dans le message de
news:08b301c34f8e$c2383640$
boujour à tous
je voudrai arroundir à la dizaine superieur
exple 41 => 50



arondie = CInt(Nbr / 10) * 10






Avatar
Ledev
"Bismark Prods" a écrit dans le message de
news:
erreur ! 41 = 40 avec ton modele !



Ah, oui, j'avais mal lue.
Bon ban comme François a déjà répondu ;-)...
a+



"Ledev" a écrit dans le message de
news:
>
> "vativato" a écrit dans le message de
> news:08b301c34f8e$c2383640$
> > boujour à tous
> > je voudrai arroundir à la dizaine superieur
> > exple 41 => 50
>
> arondie = CInt(Nbr / 10) * 10
>
>
>




Avatar
David
Bonjour,

Voila la fonction que j'utilise depuis QuickBasic.
J'espére qu'elle est juste, sinon 20
années d'erreur ! ! !

Text2 = Int((Text1 + 10) / 10) * 10


a+
Jean-Pol DAVID
mailto:
www.peintures-david.com

--
Quis ? Quid ? Ubi ? Quibus auxiliis ? Cur ?
Quomodo ? Quando ?

"vativato" a écrit dans le
message news:
08b301c34f8e$c2383640$
boujour à tous
je voudrai arroundir à la dizaine superieur
exple 41 => 50

merci
Avatar
Ledev
"François Picalausa" a écrit dans le message de
news:
Hello
Petite erreur dans mon code...
Il manque Cint

CustomRoundint = Cint((Value/10)+0.9)*10

Ou comme l'a simplifié André Joubert:
CustomRoundint = ((Value + 9) 10)*10



/, et non ;-).

a+

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


François Picalausa wrote:
> Bonjour/soir,
>
> ça c'est à la dizaine inférieure...
>
> 49 => 40
>
> Avec ce code, ça devrait fonctionner:
> Function CustomRound(Value As Single) As Integer
> CustomRoundint = ((Value/10)+0.9)*10
> End Function
>
> CustomRound(30)0
> CustomRound(31)@
> CustomRound(39)@
>
>
> Ledev wrote:
>> "vativato" a écrit dans le message de
>> news:08b301c34f8e$c2383640$
>>> boujour à tous
>>> je voudrai arroundir à la dizaine superieur
>>> exple 41 => 50
>>
>> arondie = CInt(Nbr / 10) * 10




Avatar
François Picalausa
Bonjour/soir,

/, et non ;-).



/ : division
: division entière

Il s'agit bien d'une division entière ;-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Ledev wrote:
"François Picalausa" a écrit dans le message de
news:
Hello
Petite erreur dans mon code...
Il manque Cint

CustomRoundint = Cint((Value/10)+0.9)*10

Ou comme l'a simplifié André Joubert:
CustomRoundint = ((Value + 9) 10)*10



/, et non ;-).

a+

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


François Picalausa wrote:
Bonjour/soir,

ça c'est à la dizaine inférieure...

49 => 40

Avec ce code, ça devrait fonctionner:
Function CustomRound(Value As Single) As Integer
CustomRoundint = ((Value/10)+0.9)*10
End Function

CustomRound(30)0
CustomRound(31)@
CustomRound(39)@


Ledev wrote:
"vativato" a écrit dans le message de
news:08b301c34f8e$c2383640$
boujour à tous
je voudrai arroundir à la dizaine superieur
exple 41 => 50



arondie = CInt(Nbr / 10) * 10