XL 2019 Comparer la valeur numérique de 2 textbox

terrier

XLDnaute Junior
Bonsoir.
j'expose mon problème, j'ai un formulaire pour gérer les sortie de mon stock, dès que je sélectionne un produit dans mon cbx_prod au démarrage de mon usf, y'a la quantité disponible qui s'affiche dans mon txt_quantDisp et je doit saisir la quantité demandé par mon client dans un autre textbox nommé txt_quantDem.
jusqu'à tout vas bien, j'aimerais dès que l'utilisateur clique sur le bouton ajouter dans la listbox, un macro viens vérifier si on a dépassé la quantité dispo et c'est la mon soucis (comparer si Txt_QuantDem > Txt_QuantDisp) ce que j'ai essayer de faire après le "Else".
Le problème c'est que mont bout de code prend en considération que le premier chiffre de chaque textbox, du coup il comprend que 9>800 par ex.

je compte sur votre aide.
Je vous remerci d'avance.
Terrier

VB:
Private Sub btn_ajouter_Click()
    '(dans le cas ou on ajout un vouveau article)On teste que les contrôles ont bien été saisie
        If Len(cbx_Client) = 0 Then
                lblmessage = "Veuillez sélectionner le client SVP!"
                cbx_Client.SetFocus
        ElseIf Len(Cbx_Prod) = 0 Then
                lblmessage = "Veuillez sélectionner le produit SVP!"
                Cbx_Prod.SetFocus
        ElseIf Len(Txt_QuantDem.Value) = 0 Then
                lblmessage = "Veuillez sésir la quantité SVP!"
                Txt_QuantDem.SetFocus
        Else
                If Txt_QuantDem.Value > Txt_QuantDisp.Value Then
                MsgBox "Quantité en stock insuffisante"
                Txt_QuantDem.SetFocus
                Exit Sub
                End If
            'procedure chargement des donnée dans la list
            'Eviter l'insertion de meme Ref dans la list_liv
            With List_livr
            For i = 0 To .ListCount - 1
                If .List(i, 0) = Cbx_Prod Then
                    MsgBox "Ce Produit est déja sur la liste"
                    Cbx_Prod.SetFocus
                Exit Sub
                End If
            'Insertion des donnée dans la list_liv
            Next i
            .AddItem
            .List(memoire, 0) = Cbx_Prod
            .List(memoire, 1) = lab_Ref
            .List(memoire, 2) = Txt_QuantDem.Value
            .List(memoire, 3) = Txt_prix.Value
            .List(memoire, 4) = Txt_prix.Value * Txt_QuantDem.Value
            End With
            memoire = memoire + 1
            Cbx_Prod = ""
            lab_Ref = ""
            Txt_QuantDisp.Value = ""
            Txt_QuantDem.Value = ""
            Call verif_List_livr
        End If
End Sub
 

ChTi160

XLDnaute Barbatruc
Re
ci dessous voir , j'aurais mis ".ListCount-1" à la place de la variable "memoire"
VB:
            .AddItem
            .List(.ListCount-1, 0) = Cbx_Prod
            .List(.ListCount-1, 1) = lab_Ref
            .List(.ListCount-1, 2) = Txt_QuantDem.Value
            .List(.ListCount-1, 3) = Txt_prix.Value
            .List(.ListCount-1, 4) =CDbl(Txt_prix.Value) * CInt(Txt_QuantDem.Value)
       End With
jean marie
 

ChTi160

XLDnaute Barbatruc
Bonjour
J'ai pas voulu compliquer les chose mdrr, c'est comme vous voulez
Moi je ne veux rien ....... si ce n'est aider !
pas compris!
VB:
            .AddItem
            .List(.ListCount - 1, 0) = Cbx_Prod
            .List(.ListCount - 1, 1) = lab_Ref
            .List(.ListCount - 1, 2) = Txt_QuantDem.Value
            .List(.ListCount - 1, 3) = Format(CDbl(Txt_prix.Value), "###.00")
            .List(.ListCount - 1, 4) = Format(CDbl(Txt_prix.Value) * CInt(Txt_QuantDem.Value), "###.00")
            End With           
            Cbx_Prod = ""
bonne continuation.
Bonne Journée
jean marie
 
Dernière édition:

terrier

XLDnaute Junior
Bonjour

Moi je ne veux rien ....... si ce n'est aider !
pas compris!
VB:
            .AddItem
            .List(.ListCount - 1, 0) = Cbx_Prod
            .List(.ListCount - 1, 1) = lab_Ref
            .List(.ListCount - 1, 2) = Txt_QuantDem.Value
            .List(.ListCount - 1, 3) = Format(CDbl(Txt_prix.Value), "###.00")
            .List(.ListCount - 1, 4) = Format(CDbl(Txt_prix.Value) * CInt(Txt_QuantDem.Value), "###.00")
            End With          
            Cbx_Prod = ""
bonne continuation.
Bonne Journée
jean marie
Bonsoir JM, Bonsoir le Forum,
Après 2 jour de recherche j'arrive à trouver la solution à l'aide d'un expérimenté.
il faut juste ajouter Cint au bon endroit.

VB:
                If CInt(Txt_QuantDem.Value) > CInt(Txt_QuantDisp.Value) Then
                MsgBox "Quantité en stock insuffisante"
                Txt_QuantDem.SetFocus
                Exit Sub
                End If
Je vous remercie pour vos efforts.
 

Discussions similaires

Statistiques des forums

Discussions
315 090
Messages
2 116 102
Membres
112 661
dernier inscrit
ceucri