[VBA Excel] partie entière sup [Résolu/Fermé]

Signaler
Messages postés
35
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
17 décembre 2009
-
 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

Messages postés
23988
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
7 avril 2021
6 718
Bonjour,

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

eric
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
433
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
17 octobre 2008
303
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.
Bonjour,

pour ent (A1 +0.5) on a la valeur approchée
Exact ! C'est parfait !
Messages postés
18
Date d'inscription
vendredi 30 novembre 2007
Statut
Membre
Dernière intervention
4 avril 2016
2
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)


--
Messages postés
635
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
26 février 2010
46
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.
Messages postés
35
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
17 décembre 2009
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 !
Messages postés
485
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
15 février 2013
18
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
Messages postés
35
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
17 décembre 2009
1
effectivement ça peut marcher.
j'espérais qu'il existe quelque chose de plus simple, mais pourquoi pas...
en tous cas merci !