Gestion des variables decimales vb6
sid1549
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
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 locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion photo gratuit - Guide
- 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 :-) !!!!