arrondi sup dans une textbox USF

  • Initiateur de la discussion Initiateur de la discussion GCFRG
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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
 
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:
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
906
Retour