bonjour a tous

je bloque sur le moyen d'obtenir un chiffre a virgule dans une box d'un formulaire

voici le code que j'ai mis

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Private Sub UserForm_Initialize()
Dim totalvalue As Variant
totalvalue = Round(Range("h65536").End(xlUp).Value, 2)
totalbox.Value = totalvalue
np.Value = Round(Range("h65536").End(xlUp).Value, 2)
especes.Value = 0
chqkdo.Value = 0
par.Value = 0
cheques.Value = 0
End Sub
 
 
Private Sub cheques_Change()
On Error Resume Next
np.Value = Val(totalbox) - Val(especes) - Val(chqkdo) - Val(par) - Val(cheques)
End Sub
Private Sub chqkdo_Change()
On Error Resume Next
np.Value = Val(totalbox) - Val(especes) - Val(chqkdo) - Val(par) - Val(cheques)
End Sub
Private Sub especes_Change()
On Error Resume Next
np.Value = Val(totalbox) - Val(especes) - Val(chqkdo) - Val(par) - Val(cheques)
End Sub
Private Sub par_Change()
On Error Resume Next
np.Value = Val(totalbox) - Val(especes) - Val(chqkdo) - Val(par) - Val(cheques)
End Sub

su la box np, j'obtien un chiffre sans virgule

en fais je sais que le probleme provient de la série :
np.Value = Val(totalbox) - Val(especes) - Val(chqkdo) - Val(par) - Val(cheques)

car si je suprime toutes ces opérations, le montant dans la box est conforme
par exemple sans toutes ces opération, si le chiffres de totalvalue est 180.60, alors dans la box np, il apparait correctement à 180.60

si je laisse les opérations j'obtient 180.60 pour la box totalvalue, mais pour la box np, elle indique 180

résultat, le solde qui est calculé dans la box np se trouve faussé de 0.60