Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Tronquer un nombre décimal/rationnel

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J'ai presque honte de poser cette question, mais je la pose quand même.

J'utilise une formule que j'ai développée. J'obtiens quasiment toujours un nombre décimal ou plutôt rationnel. Bref il y a toujours un paquet de chiffres après la virgule. Je voudrais tronquer ce chiffre à uniquement 2 décimales après la virgule mais sans affecter pour autant la 2ème décimale, de telle sorte que si celle-ci est suivie d'un "5" (3ème décimale) elle ne soit pas augmentée d'une unité.
Je m'explique au travers d'un exemple.
J'ai écri :
VB:
[N9] = Application.WorksheetFunction.Round([C7] * [F6] / ([C8] * firstvolrestant), 2)
Ce qui donne :
[N9] = 0,746268656716418 soit, en arrondissant : 0,75
Or, je voudrais 0,74

Comment s'y prendre ?

Merci pour tout commentaire.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir Staple1600 ,

(...) Oui cela fonctionne (aussi sur Excel 2013) mais en passant par Evaluate (les fameux [ ])
On ne peut utiliser pas Application.Trunc ou Application.WorksheetFunction.Trunc

Je n'ai pas suivi avec attention le fil. J'ai juste vu que ModesteGeedee semblait m'avoir cité.

Je ne vois pas d'ailleurs pas pourquoi passer par les fonctions de feuille alors que FIX (en VBA) semble bien fonctionner :
x = Fix(433.7899 * 100) / 100 (x -> 433,78) ou bien x = Fix(-555.1288 * 100) / 100 (x -> -555,12)
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
on différenciera donc ces 2 propositions :
VB:
Function VBTronque(Target, Decimale As Integer) As Double
VBTronque = Int(Target * (10 ^ Decimale)) / (10 ^ Decimale)
End Function

' cette dernière ci-dessous mimant précisément la fonction feuille de calcul TRONQUE (Fr) ou TRUNC(Us)
Function VBTrunc(Target, Decimale As Integer) As Double
VBTrunc = Fix(Target * (10 ^ Decimale)) / (10 ^ Decimale)
End Function
 

job75

XLDnaute Barbatruc
Bonjour Magic_Doctor, le fil, le forum,

Il s'agit peut-être d'une suite de ces 2 fils :

https://www.excel-downloads.com/thr...-dun-signe-colore-suivant-sa-valeur.20010596/
https://www.excel-downloads.com/thr...-signe-colore-suivant-sa-valeur-bis.20010898/
https://www.excel-downloads.com/thr...-signe-colore-suivant-sa-valeur-bis.20010898/
J'utilisais la macro PlusUn pour arrondir éventuellement les décimales.

Pour une troncature c'est plus simple, cette macro n'est plus utilisée.

Fichier joint.

Bonne journée.
 

Pièces jointes

  • Signe en Couleur - Valeur tronquée(1).xlsm
    27.6 KB · Affichages: 30

Magic_Doctor

XLDnaute Barbatruc
Bonsoir job, le forum,

Bravo pour ce dernier peaufinage job ! Pratiquement tout est pris en compte maintenant. Pour ceux qui aiment les couleurs...

Modeste geedee : bonnes comparaisons.

PS : vous n'avez rien compris, escouger est aphasique ! Et l'espérance de vie des aphasiques est très raccourcie... (Baudelaire, lui, ne disait plus que "Cré nom !". Entre nous, c'est plus chiant que "*"). En tout cas il est pas méchant l'escouger. Pourquoi tant de haine ?
Mais il est vrai que les silences peuvent devenir mortels !
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…