Récupérer Valeur négative
Bonsoir à tous,
je démarre dans vba, et je rencontre quelques difficultés :
je n'arrive pas à récupérer le montant quand celui a une valeur décimale négative. Vous trouverez ci-après une partie de mon code. Peut-être est ce dû au contrôle que je fais dans TxtMontant_Change(), où je veux saisir uniquement des chiffres et le "." pour les décimales
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| If FrmEncoder.CmbTypes = "Dépenses" Then
ActiveCell.Offset(0, 1).Value = FrmEncoder.CmbTypes.Value
ActiveCell.Offset(0, 2).Value = FrmEncoder.CmbCharges.Value
ActiveCell.Offset(0, 3).Value = FrmEncoder.CmbIntitules
ActiveCell.Offset(0, 4).Value = FrmEncoder.CmbDetails.Value
'ActiveCell.Offset(0, 5).Value = val(FrmEncoder.TxtMontant)
ActiveCell.Offset(0, 5).Value = -FrmEncoder.TxtMontant.Value
ActiveCell.Offset(0, 5).NumberFormat = "#,##0.00 "
ActiveCell.Offset(0, 6).Value = FrmEncoder.CmbEtat.Value
ActiveSheet.Columns.AutoFit
Else
ActiveCell.Offset(0, 1).Value = FrmEncoder.CmbTypes.Value
ActiveCell.Offset(0, 2).Value = ""
ActiveCell.Offset(0, 3).Value = FrmEncoder.CmbIntitules
ActiveCell.Offset(0, 4).Value = FrmEncoder.CmbDetails.Value
'ActiveCell.Offset(0, 5).Value = val(FrmEncoder.TxtMontant)
ActiveCell.Offset(0, 5).Value = FrmEncoder.TxtMontant.Value
ActiveCell.Offset(0, 5).NumberFormat = "#,##0.00 "
ActiveCell.Offset(0, 6).Value = FrmEncoder.CmbEtat.Value
ActiveSheet.Columns.AutoFit
End If |
Code:
1 2 3 4 5 6 7
| Private Sub TxtMontant_Change()
On Error Resume Next
If Not IsNumeric(Right(TxtMontant, 1)) And Right(TxtMontant, 1) <> "." Then
TxtMontant = Left(TxtMontant, Len(TxtMontant) - 1)
End If
End If
End Sub |
Ensuite, je souhaite calculer la somme de la colonne "montant" dont voici mon code :
Code:
1 2 3 4 5 6 7
| colonne = 0
colonne = ActiveCell.SpecialCells(xlLastCell).Row
For i = 8 To colonne
résultat = résultat + Range("f" & i).Value
Next
MsgBox résultat |