[VBA Excel] partie entière sup

Résolu
lalilu Messages postés 36 Statut Membre -  
 chtioui -
Bonjour,

existe-t-il en VBA une fonction renvoyant la partie entière supérieure d'un réel ?
expl :
si x = 2.1 --> partie_entière_sup (x) = 3

merci d'avance !

6 réponses

eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

Vu que ENT() retourne l'entier inférieur et bien fait :
=-ENT(-A1)

eric
7
chtioui
 
exact
0
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Pour compléter la réponse de Caméléon : en VBA, ENT s'appelle Int(MonNombre) ou Fix(MonNombre)
Attention si tu manipules des nombres négatifs (voir l'aide)
I.
2
titi
 
Bonjour,

pour ent (A1 +0.5) on a la valeur approchée
2
Napier
 
Exact ! C'est parfait !
0
kerfoul Messages postés 21 Statut Membre 7
 
La fonction ARRONDI.SUP peut aussi donner la partie entière supérieure

ARRONDI.SUP
Arrondit un nombre en s'éloignant de 0 (zéro).

Syntaxe

ARRONDI.SUP(nombre;no_chiffres)

nombre : représente un nombre réel quelconque à arrondir en s'éloignant de zéro.

no_chiffres : représente le nombre de chiffres à prendre en compte pour arrondir l'argument nombre.

Notes

La fonction ARRONDI.SUP est similaire à la fonction ARRONDI, excepté qu'elle arrondit toujours le nombre en s'éloignant de zéro.
Si l'argument no_chiffres est supérieur à 0 (zéro), le nombre est arrondi à la valeur immédiatement supérieure (ou inférieure pour les nombres négatifs) et comporte le nombre de décimales spécifié.
Si l'argument no_chiffres est égal à 0 ou omis, le nombre est arrondi au nombre entier immédiatement supérieur.
Si l'argument no_chiffres est inférieur à 0, le nombre est arrondi à la valeur immédiatement supérieure (ou inférieure si négative) par incrémentations de 10, 100, etc., en fonction de la valeur de no_chiffres.

Exemple

L'exemple sera plus compréhensible si vous le copiez dans une feuille de calcul vide.

=ARRONDI.SUP(3,3;0) Arrondit 3,3 à la valeur entière immédiatement supérieure (4)
=ARRONDI.SUP(76,8;0) Arrondit 76,8 à la valeur entière immédiatement supérieure (77)


--
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cameleon33 Messages postés 635 Statut Membre 50
 
Bonjour,

Tu as la fonction ENT(nombre) dans Excel qui te renvoie l'entier inférieur... Donc ENT(nombre)+1 te donne l'entier supérieur.
1
lalilu Messages postés 36 Statut Membre 1
 
oui j'y avais pensé aussi mais dans mon cas ça ne marche pas :
si Int(x) est la parie entière inf de x et Sup(x) la partie entière sup.
pour x = 3.0 (par exemple) je voudrai que Int(3.0) = 3 et Sup (3.0) = 3 aussi.
merci quand même !
0
Steefif Messages postés 526 Statut Membre 19
 
tu peux mettre ca dans une boucle if
if mon_nombre mod 1 = 0 then
partie_entiere_sup (mon-nombre) = mon_nombre
else
partie_entiere_sup(mon_nombre) = fix(mon_nombre) + 1
end if
0
lalilu Messages postés 36 Statut Membre 1
 
effectivement ça peut marcher.
j'espérais qu'il existe quelque chose de plus simple, mais pourquoi pas...
en tous cas merci !
0