Gestion des variables decimales vb6
sid1549
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
bonjour, voici mon code merci de m'aider, labeltotalliquideg.caption n'arrive pas a stocker le resultat de mon operation
Private Sub new_add_Click()
Dim user As String, ItemX As Variant
Dim deja As Boolean, i As Integer
deja = False
'On Error Resume Next
If Trim(Comboproduit.Text) = "" Then
MsgBox "Veuillez selectionner le Produit!", vbInformation + vbOKOnly, "Erreur"
Comboproduit.SetFocus
ElseIf Textqteliquide.Text = "" Then
MsgBox "Veuillez saisir la Quantité!", vbInformation + vbOKOnly, "Erreur"
Textqteliquide.SetFocus
ElseIf (Textqteemballage.Text = "") Then
MsgBox "Veuillez saisir la Quantité!", vbInformation + vbOKOnly, "Erreur"
Textqteemballage.SetFocus
ElseIf (Comboclient.Text = "") Then
MsgBox "Veuillez selectionner le Client dans la liste!", vbInformation + vbOKOnly, "Erreur"
Comboclient.SetFocus
ElseIf (Labelpuclient.Caption = "") Then
MsgBox "Veuillez cliquer sur ''PU CLIENT''!", vbInformation + vbOKOnly, "Erreur"
Comboclient.SetFocus
Else
'Tester si l'enregistrement est deja ajouter
i = liste.ListItems.Count
While (i > 0)
If (liste.ListItems(i).Text = Labellibelle.Caption And liste.ListItems(i).SubItems(1) = Comboproduit.Text) Then
deja = True
End If
i = i - 1
Wend
If (deja = False) Then
Set ItemX = liste.ListItems.Add(, , Labellibelle.Caption)
ItemX.SubItems(1) = Comboproduit.Text
ItemX.SubItems(2) = CInt(Labelpuliquide.Caption)
ItemX.SubItems(3) = CVar(Textqteliquide.Text)
ItemX.SubItems(4) = Labeltotalliquide.Caption
ItemX.SubItems(5) = CLng(Labelpuemballage.Caption)
ItemX.SubItems(6) = CInt(Textqteemballage.Text)
ItemX.SubItems(7) = Labeltotalemballage.Caption
ItemX.SubItems(8) = Comboclient.Text
ItemX.SubItems(9) = Labelstockactuel.Caption
ItemX.SubItems(10) = CLng(Labelstockrestant.Caption)
ItemX.SubItems(11) = Labelnom.Caption
ItemX.SubItems(12) = Labelprenom.Caption
ItemX.SubItems(13) = Labelcontact.Caption
ItemX.SubItems(14) = Labelpuclient.Caption
'Mise à jour du stock
Call connect
Sql = "select * from ARTICLE where id_article='" & Comboproduit.Text & "'"
Rs.Open Sql, Db, adOpenKeyset, adLockOptimistic
If (Rs.RecordCount > 0) Then
Rs.UpdateBatch
Rs.Fields("stock") = Labelstockrestant.Caption
Rs.Update
End If
Call deconnect
LabeltotalliquideG.Caption = LabeltotalliquideG.Caption + (CVar(Textqteliquide.Text) * CLng(Labelpuclient.Caption))
(probleme : type incompatible) et la je suis bloquer depuis deux jours)
LabeltotalemballageG.Caption = LabeltotalemballageG.Caption + (CInt(Textqteemballage.Text) * CLng(Labelpuemballage.Caption))
Labeltotalttc.Caption = Val(LabeltotalliquideG.Caption) + Val(Labeltva.Caption) + Val(LabeltotalemballageG.Caption)
Call Option4_Click
Else
MsgBox "L'enregistrement est déjà ajouté", vbInformation + vbOKOnly, "Iformation"
Comboproduit.SetFocus
End If
Call Effacer
End If
End Sub
A voir également:
- Gestion des variables decimales vb6
- Vb6 - Télécharger - Divers Utilitaires
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Gestion des fichiers - Télécharger - Gestion de fichiers
- Gestion autorisation application android - Guide
4 réponses
NB: le code marche tres bien avec les valeur entier sans virgule; mais des qu'on met un nombre a virgule, bug , type incompatible. merci de m'aider
Bonjour,
Eternel.. éternel et encore.. problème de point / virgule.
quand tu veux mettre un nombre qui vient d'un texte.
Résultat = 23,32
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Eternel.. éternel et encore.. problème de point / virgule.
quand tu veux mettre un nombre qui vient d'un texte.
Dim A as integer Dim Txt as String Txt = "23,32" A = val(replace(Txt,",",".")) 'Remplacer la virgule par un point.
Résultat = 23,32
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
lermite222, merci de me répondre, mais en réalité le A = val(replace(Txt,",",".")) ne ramène pas le nombre avec la virgule mais plutôt la partie entière du nombre. ce qui fausse mes calcules au final. merci
Là tu à a un ti problème
Si tu emploi des variables Integer .. forcément que ça te renvoi une partie sans décimale, faut savoir ce que tu veux, si tu veux des décimales faut employer des variables Single.
Faudrait alors dire..
Et ça marcherait.
Moi je ne fait que suivre ce que tu dis dans tes postes :-) !!!!
Si tu emploi des variables Integer .. forcément que ça te renvoi une partie sans décimale, faut savoir ce que tu veux, si tu veux des décimales faut employer des variables Single.
Faudrait alors dire..
Dim A as Single
Et ça marcherait.
Moi je ne fait que suivre ce que tu dis dans tes postes :-) !!!!