|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : avril 2004 Messages : 278 ![]() |
Bonjour,
Existe t il la fonction trunc() en VBA. Car sur excel je dois faire =TRONQUE(A;2) pour tronquer les valeurs sans arrondir les 2 dernières décimales. Mais celà en VBA pour un macro ! Merci davance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 817 ![]() |
Bonjour,
Cette fonction, elle fait quoi ? Tu veux récupérer la partie entière d'un nombre décimal ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : avril 2004 Messages : 278 ![]() |
Elle tronque à la place de arrondir.
Car la valeur 188,8889 passe à 188,89 si on la place dans une cellule à 2décimales. Moi l'avoir en sulement 2 décimales mais sans arrondir, mais en tronquant. Et celà en VBA et non en formule Excel. Tronque en Excel =TRONQUE(A1;2) a1=2000 => a1=2000 a1=188,8889 =>188,88 a1=196,12 =>196,12 C'est pile ce que je veux mais il me le faudrait en code VBA |
|
|
00
|
|
|
#4 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Tu l'as dans l'aide, donc elle doit exister...
Pour pc75... Citation:
Par contre, pas plus dans Excel qu'en VBA (97) je n'ai obtenu le résultat que j'étais en droit d'attendre... Mais il y aura bien queukun pour expliquer pourquoi... A+ A+ |
|
|
|
00
|
|
|
#5 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
J'allais oublié une autre solution (Bidou, je crois)
Code :
ActiveCell.FormulaLocal = "=TRONQUE($A$1;2)" A+ |
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() Inscription : avril 2004 Messages : 278 ![]() |
Ayant la cellule A1 sur un autre classeur que là ou je devais la mettre tronquer, ben ca m'a agacé
J'ai donc créer une fonction rien que pour tronquer : Code :
et Merci bien ! |
||
|
|
00
|
|
|
#7 | ||
![]() ![]() |
tiens moi je t'avais préparer ça en passant par une chaine....
Code :
|
||
|
00
|
|
|
#8 | ||
![]() ![]() ![]() Christophe Warin Inscription : octobre 2004 Messages : 8 635 ![]() |
Plus performant à priori :
Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Yannick Assistant aux utilisateurs Inscription : avril 2011 Messages : 1 ![]() |
LA fonction int extrait la partie entière !!!!
Code :
Int, Fix, fonctions Voir aussi Exemple Particularités Renvoie la partie entière d'un nombre. Syntaxe Int(number) Fix(number) L'argument number peut contenir une valeur de type Double ou toute autre expression numérique valide. Si l'argument number contient une valeur de type Null, Null est renvoyé. Remarques Les fonctions Int et Fix suppriment toutes deux la partie fractionnelle de l'argument number et renvoient l'entier obtenu. Différence entre les fonctions Int et Fix : si number est négatif, Int renvoie le premier entier négatif inférieur ou égal à number, alors que Fix renvoie le premier entier négatif supérieur ou égal à number. Par exemple, Int convertit -8,4 en -9 et Fix convertit -8,4 en -8. Fix(number) équivaut à : |
||
|
|
00
|
|
|
#10 |
![]() ![]() ![]() |
Je suppose que, depuis 2005,laclac a eu la réponse à sa question :p Mais tu as ajouté FIX, et c'est intéressant de mettre en avant la différence sur les négatifs. Merci ! J'ajoute qu'il faut - toujours dans les négatifs - faire attention au type de données passé à FIX, car des fois, il y aura des FIX "bizarres". Par exemple, sur un réel Double, j'ai déjà eu un FIX sur -2 qui me renvoyait -1 Après avoir choisi un type Currency au lieu de double, le même process renvoyait bien -2 pour -2 Encore merci pour tes précisions !
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com