[RESOLU par mapomme.JOB75.Pascal]arrondir à la dizaine inferieur

MADAGASCAR

XLDnaute Occasionnel
Bonjour Forum
Bonjour à tous et à toutes
S'il vous plaît ..si vous pouvez m'aider à résoudre ce problème
Dans mon UserForm1 j'ai 6 TextBox
TextBox6.Text = TextBox1.Text - (TextBox2.Text + TextBox3.Text + TextBox4.Text + TextBox5.Text)
Par exemple, comme l'opération dans l'image ci-dessous:
87588,05 = 97816,10 - (05.50 + 1146,60 + 300 + 8775,95)
Je veux que le résultat dans TextBox6 sera toujours arrondi à la dizaine inferieur
dans cet exemple (87588,05) .. apparaît (87580,00)
Je tente avec le code dans mon USF mais j'ai pas completement réussi
Merci beaucoup d'avance pour l'aide
Cordialement
MADA BLACK
 

Pièces jointes

  • ROUNDED.xlsm
    20.7 KB · Affichages: 52
  • rouded1.jpg
    rouded1.jpg
    6.3 KB · Affichages: 39
Dernière édition:

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Bonjour Victor21
Merci beaucoup pour l'intention d'aide et pour votre idee
J'ai essayé de faire comme vous m'avez dites mais regardez svp ce qu'il me donne
Private Sub TextBox5_Change()
Me.TextBox6.Text = ((Val(Replace(Me.TextBox1, ",", ".")) - (Val(Replace(Me.TextBox2, ",", ".")) + Val(Replace(Me.TextBox3, ",", ".")) + Val(Replace(Me.TextBox4, ",", ".")) + Val(Replace(Me.TextBox5, ",", ".")))) * 10) / 10
End Sub
Cordialement
MADA BLACK
 

Pièces jointes

  • 33.jpg
    33.jpg
    12.7 KB · Affichages: 50

Victor21

XLDnaute Barbatruc
Re : arrondir à la dizaine inferieur

Re,

C'est la partie entière de la valeur divisée par 10 qu'il faut multiplier par 10 :
87 588,05/10 = 8 758,805
La partie entière de 8 758,805 est 8 758
Et 8.758 * 10 = 87 580.

Peut-être (je ne suis pas un spécialiste de VBA, et n'ai pas testé) :
Me.TextBox6.Text = int ((Val(Replace(Me.TextBox1, ",", ".")) - (Val(Replace(Me.TextBox2, ",", ".")) + Val(Replace(Me.TextBox3, ",", ".")) + Val(Replace(Me.TextBox4, ",", ".")) + Val(Replace(Me.TextBox5, ",", ".")))) / 10) )*10

PS : Y'a beaucoup de parenthèses, non ?
 
Dernière édition:

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Merci Patrick pour l'aide
J'ai obtenue une erreur de syntax .. comme l'indique cette image ..je ne sais où est l'erreur
Sincerement
MADA BLACK
 

Pièces jointes

  • 3.jpg
    3.jpg
    14.9 KB · Affichages: 50
  • 3.jpg
    3.jpg
    14.9 KB · Affichages: 50

job75

XLDnaute Barbatruc
Re : arrondir à la dizaine inferieur

Bonsoir MADAGASCAR, Patrick,

Vous aimez bien les parenthèses et les Meuuhh qui ne servent à rien hein MADA ?

Code:
Private Sub TextBox2_Change()
TextBox6 = Val(Replace(TextBox1, ",", ".")) - Val(Replace(TextBox2, ",", ".")) - Val(Replace(TextBox3, ",", ".")) - Val(Replace(TextBox4, ",", ".")) - Val(Replace(TextBox5, ",", "."))
TextBox6 = Application.RoundDown(CDbl(TextBox6), -1)
End Sub
Bonne nuit.
 

Victor21

XLDnaute Barbatruc
Re : arrondir à la dizaine inferieur

Re,

En supprimant les () superflus, (Mon Post scriptum du #4) ça donne quoi ?
Me.TextBox6 = Int(Val(Replace(Me.TextBox1, ",", ".")) - (Val(Replace(Me.TextBox2, ",", ".")) + Val(Replace(Me.TextBox3, ",", ".")) + Val(Replace(Me.TextBox4, ",", ".")) + Val(Replace(Me.TextBox5, ",", "."))) / 10) * 10

Nouveau PS : Il n'est pas nécessaire de cliquer sur "J'aime ce post" à chaque réponse : trop d'amour tue l'amour:)
 

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Bonjour JOB75
Tres ravi de vous voir dans ce sujet
Merci beaucoup pour l'aide
Je ne sais pas pourquoi j'ai utilisé le meme exemple avec ces chiffres mais le resultat obtenu das TextBox6 c'etait ( 978100 )
Normalement se sera bien ( 87580 )
Cordialement
MADA BLACK
 

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Bonjour Patrick
Je vais noter bien votre remarque ..mais l'amour tue l'amour pour les infideles ..
Aussi cher Patrick le resultat obtenue est ( 967930 )
Je ne sais pas où est le probleme avec ce malheureux fichier
Cordialement
MADA BLACK
 

Victor21

XLDnaute Barbatruc
Re : arrondir à la dizaine inferieur

Re, Mada

Vous savez faire le calcul par formule et, manifestement vous maîtrisez le VBA autant que moi... :rolleyes:

La sagesse ne voudrait-elle pas que vous utilisiez les outils que vous connaissez plutôt que de dépendre à chaque ligne du bon-vouloir et du bon-savoir des "malheureux" intervenants de ce forum ?
Et plutôt que de perdre du temps à attendre les réponses l'employer, si vous en avez le goût, à vous perfectionner ?

PS : Bonsoir, Gérard :)
 

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Croyez moi Patrick je ne reste toujours pas les bras croisés ..
Mais parfois je change plusieurs codes et je fais plusieurs trucs mais finalement je n'arrive pas a la bonne reponse que je souhaite .. ici je poste mon sujet dans le forum..
Dans tous les cas je respecte votre opinion
Cordialement
MADA BLACK
 

job75

XLDnaute Barbatruc
Re : arrondir à la dizaine inferieur

Bonjour grisan29, le fil, le forum,

Le problème posé c'est arrondir à la dizaine inferieure :rolleyes:

J'en profite pour compléter les autres macros de l'USF :

Code:
Private Sub TextBox3_Change()
TextBox2_Change
End Sub
Private Sub TextBox4_Change()
TextBox2_Change
End Sub
Private Sub TextBox5_Change()
TextBox2_Change
End Sub
Bonne journée.
 

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Bonjour Pascal
Merci beaucoup pour l'aide
Mais malheureusement aussi .. j'ai pas obtenu la bon resultat
J'ai pas connu meme pas où je vais poser cette formule
Dans tous les cas merci beaucoup
Cordialement
MADA BLACK
 

MADAGASCAR

XLDnaute Occasionnel
Re : arrondir à la dizaine inferieur

Bonjour JOB75
Merci beaucoup pour vos codes et votre aide
J'ai essayé de mettre vos codes ensemble comme ceci :
Private Sub TextBox3_Change()
TextBox2_Change
End Sub
Private Sub TextBox4_Change()
TextBox2_Change
End Sub
Private Sub TextBox5_Change()
TextBox2_Change
End Sub
Private Sub TextBox2_Change()
TextBox6 = Val(Replace(TextBox1, ",", ".")) - Val(Replace(TextBox2, ",", ".")) - Val(Replace(TextBox3, ",", ".")) - Val(Replace(TextBox4, ",", ".")) - Val(Replace(TextBox5, ",", "."))
TextBox6 = Application.RoundDown(CDbl(TextBox6), -1)
End Sub
Mais finalement par mal chance j'ai obtenu ce resultat pas arrondi dans TextBox6 ..
Tres cordialement
MADA BLACK
 

Pièces jointes

  • 3.jpg
    3.jpg
    10.8 KB · Affichages: 42
  • 3.jpg
    3.jpg
    10.8 KB · Affichages: 47

Statistiques des forums

Discussions
311 721
Messages
2 081 927
Membres
101 842
dernier inscrit
seb0390