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