arrondi sup dans une textbox USF

GCFRG

XLDnaute Occasionnel
Bonjour a toutes et à tous, Je reviens à nouveau vers vous, j'ai des calculs dans des textbox, que je voudrais arrondir au chiffre supérieur selon conditions
Exemple de 1.01 à 1.49 arrondir à 1.50 de 1.51 à 1.99 arrondir à 2
j'ai beau me triturer les méninges , je n'y arrive pas aussi ci quelqu'un (une) à une idée.... d'avance je vous remercie.
Je joins un exemple de ce que j'ai fait (avec l'aide de LII qui m'a beaucoup éclairé et que je salue au passage):)
Gilbert
Ps J'ai créé un nouveau fil ma recherche étant différente je suppose que c'est ce que je dois faire ?
 

Pièces jointes

  • userformmextalu.zip
    23.5 KB · Affichages: 30
  • userformmextalu.zip
    23.5 KB · Affichages: 35
  • userformmextalu.zip
    23.5 KB · Affichages: 36

pierrejean

XLDnaute Barbatruc
Re : arrondi sup dans une textbox USF

bonjour GCFRG

Une solution pour le Textbox6 (A adapter pour les autres)

Code:
Private Sub TextBox4_Change()
Quantité = 0
Quantité = TextBox4.Value
If Quantité <> "" Then
prix = TextBox3.Value * Quantité
[COLOR=blue]If prix - Int(prix) > 0 Then
 If prix - Int(prix) < 0.5 Then
  prix = Int(prix) + 0.5
 Else
  prix = Int(prix) + 1
 End If
End If[/COLOR]
TextBox6.Value = IIf(prix = "", "pas encore défini", prix & " €")
Else
TextBox6.Value = TextBox3.Value
End If
End Sub
 

fanfan38

XLDnaute Barbatruc
Re : arrondi sup dans une textbox USF

Bonjour
Apres prix = TextBox3.Value * Quantité
ajoute
If prix > Int(prix) + 0.001 And prix < Int(prix) + 0.5 Then
prix = Int(prix) + 0.5
Else
If prix > Int(prix) + 0.5 Then prix = Int(prix) + 1
End If

A+ François
 

Spitnolan08

XLDnaute Barbatruc
Re : arrondi sup dans une textbox USF

Bonjour le fil,

Une petite variante au code de pierrejean:) :
Code:
Private Sub TextBox4_Change()
Quantité = TextBox4.Value
If Quantité <> "" Then
[COLOR=Purple]    Prix = CDbl(TextBox3.Value * Quantité)
    Prix = IIf(Prix - Int(Prix) < 0.5, Int(Prix) + 0.5, Int(Prix) + 1)[/COLOR]
    TextBox6.Value = IIf(Prix = "", "pas encore défini", Prix & " €")
Else
    TextBox6.Value = TextBox3.Value
End If
End Sub
Cordialement
 

Spitnolan08

XLDnaute Barbatruc
Re : arrondi sup dans une textbox USF

Re,

@Raja : la fonction roundup ne fonctionne pas pour ce cas car par exemple :
pour a = 4.54
WorksheetFunction.RoundUp(a, 2)=4.54

pour a = 4.56
WorksheetFunction.RoundUp(a, 2)=4.56
mais
pour a = 4.561
WorksheetFunction.RoundUp(a, 2)=4.57

Cordialement

Edit : Et même avec Roundup(a,1) il faudrait également utiliser Rounddown(a,1) et comparer...
 
Dernière édition:

GCFRG

XLDnaute Occasionnel
Re : arrondi sup dans une textbox USF

woufffff, je ne m'attendais pas à tant de réponses et aussi rapidement!
Je vous remercie tous, c'est très interessant de voir les différentes manières d'aborder le problème.
je garde la solution de "tototiti" c'est optimizé au mieux et ça fonctionne du feu de dieu

Et là je vois que j'ai encore énormément de chose à apprendre !
Merci à tous
au plaisir de vous lire
A bientôt sans doute
Gilbert

OUPS
J'ai parlé un peu vite, je n'ai qu'un chiffre après la virgule exp: 239.49€ donne 239.5€ j'ai modifié

le code de François comme suis, mais ce n'ai pas très académique, si vous aviez une p'tite idée

Prix = IIf(Prix - (Int(Prix) < 0.5) & "0", (Int(Prix) + 0.5) & "0", Int(Prix) + 1)

D'avance merci
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 868
dernier inscrit
JJV