Problème addition textbox avec format nombre

blord

XLDnaute Impliqué
Bonjour à tous,

J'utilise le code suivant pour formater le contenu de textbox :

Code:
Private Sub TextBoxVIEADH1_change()
TextBoxVIEADH1.Value = Format(TextBoxVIEADH1.Value, "#,##0")
End Sub
Private Sub TextBoxVIEADH2_change()
TextBoxVIEADH2.Value = Format(TextBoxVIEADH3.Value, "#,##0")
End Sub
Private Sub TextBoxVIEADH3_change()
TextBoxVIEADH3.Value = Format(TextBoxVIEADH3.Value, "#,##0")
End Sub

Le problème avec ce code, est que lorsque j'additionne les TB1 et TB2 dans le TB3 et que j'entre par exemple 120 000 + 200 000, le résultat de l'addition donne 320 et non 320 000 ...

Code:
TextBoxVIEADH3.Value = Val(TextBoxVIEADH1) + Val(TextBoxVIEADH2)


Si j'enlève le format l'addition se fait sans problème...

Il est important que le format affiché dans le textbox demeure car les nombres à entrer seront presque toujours de l'ordre du million, donc il est beaucoup plus facile visuellement de lire 6 000 000 au lieu de 6000000.

Merci pour vos bons conseils....

Blord
 

Pièces jointes

  • Classeur2.xls
    29 KB · Affichages: 72
  • Classeur2.xls
    29 KB · Affichages: 78
  • Classeur2.xls
    29 KB · Affichages: 76

Robert

XLDnaute Barbatruc
Repose en paix
Re : Problème addition textbox avec format nombre

Bonsoir Blord, bonsoir le forum,

Ton fichier modifié en pièce jointe. J'ai converti el entier Long mais ça plantait avec une textbox vide. J'ai donc initiliasé les textboxes à zéro...
Si tu n'as pas de décimales et si ton total ne dépasse pas 2 147 483 647, ça devrait aller....
 

Pièces jointes

  • Blord_v02.xls
    24.5 KB · Affichages: 87
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Problème addition textbox avec format nombre

Bonjour Blord,


essaie avec ceci:
Code:
Private Sub TextBoxVIEADH1_change()
TextBoxVIEADH1.Value = Format(TextBoxVIEADH1.Value, "#,##0")
TextBoxVIEADH3.Value = Val(TextBoxVIEADH1) [B][COLOR=blue]* 1000[/COLOR][/B] + Val(TextBoxVIEADH2)[B][COLOR=blue] * 1000[/COLOR][/B]
End Sub
Private Sub TextBoxVIEADH2_change()
TextBoxVIEADH2.Value = Format(TextBoxVIEADH2.Value, "#,##0")
TextBoxVIEADH3.Value = Val(TextBoxVIEADH1)[COLOR=blue][B] * 1000[/B][/COLOR] + Val(TextBoxVIEADH2)[COLOR=blue][B] * 1000[/B][/COLOR]
End Sub

à+
Philippe

Edit: Bonjour Robert
 

blord

XLDnaute Impliqué
Re : Problème addition textbox avec format nombre

Bonjour Robert & Philippe, le Forum,

Merci pour vos deux solutions, elles répondent toutes les deux à mon besoin...

La solution de Philippe sera probablement celle que j'utiliserai car on n'a pas besoin d'initialiser les textbox à 0.....

Merci beaucoup, votre aide est toujours si précieuse....

Benoit Lord
 

job75

XLDnaute Barbatruc
Re : Problème addition textbox avec format nombre

Bonjour blord, Philippe, Robert, le forum,

Grâce à JNP sur ce fil :

https://www.excel-downloads.com/threads/delimitateur-de-milliers.144025/

j'ai découvert qu'en VBA le séparateur de milliers se traduit par le caractère de code 160.

Alors ici on peut utiliser :

Code:
Private Sub TextBoxVIEADH1_change()
TextBoxVIEADH1 = Format(TextBoxVIEADH1, "#,##0")
TextBoxVIEADH3 = Val(Replace(TextBoxVIEADH1, [COLOR="Red"]Chr(160)[/COLOR], "")) + Val(Replace(TextBoxVIEADH2, [COLOR="red"]Chr(160)[/COLOR], ""))
End Sub

Private Sub TextBoxVIEADH2_change()
TextBoxVIEADH2 = Format(TextBoxVIEADH2, "#,##0")
TextBoxVIEADH3 = Val(Replace(TextBoxVIEADH1, [COLOR="red"]Chr(160)[/COLOR], "")) + Val(Replace(TextBoxVIEADH2, [COLOR="red"]Chr(160)[/COLOR], ""))
End Sub

Merci encore Jean-Noël :)

Fichier joint.

A+
 

Pièces jointes

  • Classeur2(1).xls
    37.5 KB · Affichages: 77
  • Classeur2(1).xls
    37.5 KB · Affichages: 75
  • Classeur2(1).xls
    37.5 KB · Affichages: 87
Dernière édition:

Discussions similaires

Réponses
15
Affichages
869

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 553
dernier inscrit
loic55