OVH Cloud OVH Cloud

Récupérer partie entière d'un décimal en VBA

10 réponses
Avatar
Excel...lent
Bonjour à tous,

Avec cette formule je récupère un entier à partir d'un décimal : NbH =
Ent(Mb / 60)

Je souhaiterais faire la même chose en VBA mais ça Bug.

Merci de votre aide.

Excel...lent

10 réponses

Avatar
JB
Bonjour,

Nbh=Int(Mb/60)

(voir la diff entre Int et Fix dans l'aide)

Cordiatement JB
Avatar
Elliac
Bonjour,
Par exemple :
a = Int(Range("a1"))

Camille

"Excel...lent" wrote:

Bonjour à tous,

Avec cette formule je récupère un entier à partir d'un décimal : NbH > Ent(Mb / 60)

Je souhaiterais faire la même chose en VBA mais ça Bug.

Merci de votre aide.

Excel...lent





Avatar
Excel...lent
Salut les gars,

Put... mais vous dormez devant vos ordi ou quoi.... lol et re re lol

Non allez, trèves de plaisanteries, merci beaucoup.

Evidemment ca fonctionne et c'est exactement ce que je cherchais. Après
avoir lu la différence entre Int et Fix j'ai choisi Int.

Cordialement.

Excel...lent
Avatar
Clément Marcotte
Bonjour,

Me semble que la paresse me ferait juste faire une division entière.

nbh = 5 3

nbh = 180 60

P.S. C'est bien la barre oblique inverse.


"Excel...lent" a écrit dans le message de news:

Bonjour à tous,

Avec cette formule je récupère un entier à partir d'un décimal : NbH > Ent(Mb / 60)

Je souhaiterais faire la même chose en VBA mais ça Bug.

Merci de votre aide.

Excel...lent




Avatar
LSteph
Bonsoir Clément,

Voilà un truc bon à connaître!
Merci.

lSteph
"Clément Marcotte" a écrit dans le message
de news: %
Bonjour,

Me semble que la paresse me ferait juste faire une division entière.

nbh = 5 3

nbh = 180 60

P.S. C'est bien la barre oblique inverse.


"Excel...lent" a écrit dans le message de news:

Bonjour à tous,

Avec cette formule je récupère un entier à partir d'un décimal : NbH >> Ent(Mb / 60)

Je souhaiterais faire la même chose en VBA mais ça Bug.

Merci de votre aide.

Excel...lent








Avatar
Excel...lent
Salut à tous,

Comme d'hab merci vous êtes d'une grande aide.

Au fait Clément j'ai pas bien compris ce que tu proposes. Excuse-moi mais tu
as du voir dans mon pseudo Excel...lent il ya LENT !

Cordialement.

Excel...lent
Avatar
Clément Marcotte
Bonjour,

Au fait Clément j'ai pas bien compris ce que tu proposes. Excuse-moi mais
tu
as du voir dans mon pseudo Excel...lent il ya LENT !



La division entière retourne juste l'entier de la division. Au lieu
d'écrire deux instructions, tu n'en écris qu'une.

Peux essayer cela en vitesse:

sub cadivise()
dim a, b, c, lareponse
'division conventionelle
a= 181 /60
b = int(a)
'division entière
c = 181 60

lareponse = a & ", " & b & ", " & c
msgbox lareponse
end sub


"Excel...lent" a écrit dans le message de news:
Oqs$P$
Salut à tous,

Comme d'hab merci vous êtes d'une grande aide.

Cordialement.

Excel...lent




Avatar
Zit
aide de excel
Round(expression [,numdecimalplaces])

La syntaxe de la fonction Round comprend les éléments suivants :

Élément Description
expression Expression numérique arrondie.
numdecimalplaces Facultatif. Nombre indiquant combien de positions à
droite de la virgule sont incluses dans le nombre arrondi. Si cette valeur
est omise, les entiers sont arrondis par la fonction Round.

Voila la soluce
NbH = Round(Mb/60 , 2)
arrondi a 2 decimales

Zit

"Excel...lent" a écrit dans le message de news:

Bonjour à tous,

Avec cette formule je récupère un entier à partir d'un décimal : NbH > Ent(Mb / 60)

Je souhaiterais faire la même chose en VBA mais ça Bug.

Merci de votre aide.

Excel...lent




Avatar
AV
| Voila la soluce
| NbH = Round(Mb/60 , 2)
| arrondi a 2 decimales

Si j'étais toi je serais beaucoup moins péremptoire lorsqu'il s'agit de la
fonction vba "Round" .....

Sub zzz()
'avec la fonction vba...pas terrrible :
'arrondi à l'entier pair le plus proche !
MsgBox Round(0.5, 0)'avec XL97 --> plouf !
MsgBox Round(1.5, 0)

MsgBox VBA.Round(0.5, 0)
MsgBox VBA.Round(1.5, 0)

'Ici c'est nettement plus cohérent...
MsgBox Application.Round(0.5, 0) 'ou avec WorksheetFunction
MsgBox Application.Round(1.5, 0)

MsgBox [round(0.50,0)] 'méthode Evaluate
MsgBox [round(1.50,0)]
End Sub

AV
Avatar
Clément Marcotte
M'est avis que t'as mal lu. Le monsieur il veut tronquer, pas arrondir.

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

aide de excel
Round(expression [,numdecimalplaces])

La syntaxe de la fonction Round comprend les éléments suivants :

Élément Description
expression Expression numérique arrondie.
numdecimalplaces Facultatif. Nombre indiquant combien de positions à
droite de la virgule sont incluses dans le nombre arrondi. Si cette valeur
est omise, les entiers sont arrondis par la fonction Round.

Voila la soluce
NbH = Round(Mb/60 , 2)
arrondi a 2 decimales

Zit

"Excel...lent" a écrit dans le message de news:

Bonjour à tous,

Avec cette formule je récupère un entier à partir d'un décimal : NbH >> Ent(Mb / 60)

Je souhaiterais faire la même chose en VBA mais ça Bug.

Merci de votre aide.

Excel...lent