Bonjour,

J'ai créé une macro de gestion de stock. Selon l'élément choisi, excel retrouve la quantité en stock correspondante et la compare avec la quantité entrée par l'utilisateur.

Selon le code, si qté > stock, un message d'erreur s'affiche. Si c'est le cas, la macro fonctionne comme prévu.

Cependant, sur 9 essais sur 10, le message d'erreur s'affiche bien que le stock soit suffisant...

Après plusieurs essais, j'ai remarqué que les seules valeurs qu'il accepte sont 1, 10, 100, 1000, ... indépendemment du stock!

depuis, je patauge pour tenter d'y remédier...

une piste de solution serait grandement appréciée

merci!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
'l'utilisateur choisit l'élément souhaité, le code recherche les quantités disponibles dans la feuille excel correspondante
 
Private Sub ComboBox_selection_1_Change()
 
  If Me.ComboBox_selection_1.ListIndex <> -1 Then
        Me.TextBox_stock_objet1.Enabled = False
        Me.TextBox_emplacement_1.Enabled = False
        Me.TextBox_stock_objet1 = Sheets("Stocks_robinetterie").Range("C" & Me.ComboBox_selection_1.ListIndex + 3)
        Me.TextBox_emplacement_1 = Sheets("Stocks_robinetterie").Range("A" & Me.ComboBox_selection_1.ListIndex + 3)
  Else
            Me.ComboBox_selection_1.ListIndex = 0
            Me.TextBox_emplacement_1 = ""
  End If
 
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'ensuite, les dispositifs de controle et d'alerte vérifient les quantités entrées par l'utilisateur
 
'sélection 1
 
    If Me.TextBox_qte_objet1.Value < 0 Then
        MsgBox " La quantité 1 à commander doit être positive"
        Me.TextBox_qte_objet1.SetFocus
        Exit Sub
    End If
 
    If IsNumeric(TextBox_qte_objet1) = False Then
        MsgBox " La quantité n'est pas numérique"
        Me.TextBox_qte_objet1.SetFocus
           Exit Sub
    End If
 
    If Me.ComboBox_selection_1.ListIndex <> -1 And Me.TextBox_qte_objet1 <> 0 Then
         If Me.TextBox_qte_objet1.Value > Me.TextBox_stock_objet1.Value Then
            MsgBox "Le stock de l'élément 1 est inférieur à la quantité demandée"
            Me.TextBox_qte_objet1.SetFocus
            Exit Sub
         End If
    End If
je peux fournir le fichier entier si nécessaire!