Option Explicit
Private Sub BtOk_Click()
Dim L As Long, Qté As Long, Stock As Long, Z As String, Lgn As Long
L = CbxCode.ListIndex + 1
If L = 0 Then
MsgBox "Veuillez entrer un code correct", vbCritical, "Mouvement"
ElseIf Not IsNumeric(TbxQté.Value) Then
MsgBox "Veuillez saisir une quantité numérique", vbCritical, "Mouvement"
Else
Qté = TbxQté.Value: If Left$(Caption, 6) = "Sortie" Then Qté = -Qté
Stock = FLstPcD.[StockDispo].Rows(L).Value
If Stock + Qté < 0 Then Z = " Stock insuffisant !" & vbLf: Qté = 0 Else Z = ""
If Qté = 0 Then
MsgBox Z & " Veuillez saisir une quantité valide ", vbCritical, Caption
Else
UfMvt.Hide
If InputBox(Choose((Sgn(Qté) + 3) \ 2, "SORTIE DE STOCK DE ", "ENTREE EN STOCK DE") & vbCrLf & vbCrLf & "Référence : " & CbxCode.Value & vbCrLf & vbCrLf & "Description : " & FLstPcD.[DescriptionPièces].Rows(L).Value & vbCrLf & vbCrLf & "Quantité = " & Abs(Qté), "Confirmation mouvement", "Pour confirmer, entrer votre prénom et cliquez sur OK", 5900, 4000) = vbOK Then
Stock = Stock + Qté
FLstPcD.[StockDispo].Rows(L).Value = Stock
With FArch.[Tablo]: Lgn = .Rows.Count: .Rows(Lgn).Copy: .Rows(Lgn).Insert
Lgn = .Rows(Lgn + 1).Row: End With
FArch.[Heure].Rows(Lgn).Value = Now
FArch.[Codes].Rows(Lgn).Value = CbxCode.Value
FArch.[Qté].Rows(Lgn).Value = Qté
FArch.[Stock].Rows(Lgn).Value = Stock
FLstPcD.[DatDrnMvt].Rows(L).Value = Now
FLstPcD.[QtéDrnMvt].Rows(L).Value = Qté
' CreateObject("Wscript.shell").Popup "Merci"&"prénom saisi !", 2, "Confirmation", 64
End If
End If
End If
End Sub