Private Sub MajInventaire()
Dim QS&, n&, v
With Worksheets("Inventaire")
flgAdd = 0
n = UBound(TblInv): lgS = 0: lgD = 0
GetLig ComboBox1, n, lgS: If lgS = 0 Then Exit Sub
GetLig ComboBox2, n, lgD: If lgD > 0 Then flgAdd = 1
If lgD = 0 Then
flgAdd = 0: lgD = n + 3
If lgD = 65000 Then
MsgBox "Le tableau en feuille Inventaire est plein !", 48
lgD = 0: Exit Sub
End If
End If
Application.ScreenUpdating = 0: .Unprotect: QT = Val(Quantitetr)
With .Cells(lgS, 11)
QS = .Value + QT: .Value = QS: stocktr = QS
End With
Application.EnableEvents = False
.Activate
If flgAdd = 0 Then
.Rows("4:4").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.Unprotect
.Rows("5:5").Copy
.Rows("4:4").PasteSpecial xlPasteFormats
.Range("D5").Copy
.Range("D4").Select
ActiveSheet.Paste
Application.EnableEvents = True
lgD = 4
End If
For v = 0 To ListBox1.ListCount - 1
With .Cells(lgD, 3)
If flgAdd = 0 Then
.Offset(, -2) = ListBox1.List(v, 3)
.Offset(, -1) = ListBox1.List(v, 4)
.Offset(, 2) = ListBox1.List(v, 5)
.Offset(, 3) = ListBox1.List(v, 6)
.Offset(, 4) = ListBox1.List(v, 7)
.Offset(, 5) = ListBox1.List(v, 8)
.Offset(, 6) = "Transfert"
.Offset(, 9) = ComboBox2
QD = Val(.Value) + QT: .Value = QD
Else
.Offset(, 7) = .Offset(, 7) + Quantitetr
End If
lgT = lgT + 1
End With
.Protect: Application.ScreenUpdating = -1
Next
End With
End Sub
Private Sub LigneTransfert()
Dim v
With Worksheets("Transfert")
lgT = .Cells(Rows.Count, 1).End(3).Row + 1
For v = 0 To ListBox1.ListCount - 1
If lgT = 650000 Then
MsgBox "Le tableau en feuille Transfert est plein !", 48
lgT = 0: Exit Sub
End If
Dim Stock1&, Stock2&
Application.ScreenUpdating = 0: .Unprotect
Stock2 = Val(stocktr): Stock1 = Stock2 + QT
With .Cells(lgT, 1)
.Value = ListBox1.List(v, 1)
.Offset(, 1) = ListBox1.List(v, 2)
.Offset(, 2) = ListBox1.List(v, 3)
.Offset(, 3) = ListBox1.List(v, 4)
.Offset(, 5) = ListBox1.List(v, 7)
.Offset(, 6) = Date
.Offset(, 7) = ComboBox1
.Offset(, 8) = ComboBox2
.Offset(, 9) = QT
.Offset(, 12) = TextBox1
.Offset(, 13) = Format(Now, "mm/dd/yyyy hh:mm am/pm")
lgT = lgT + 1
End With
.Protect: Application.ScreenUpdating = -1
Next
End With
End Sub
Private Sub UndoOpInv()
Application.ScreenUpdating = 0
With Worksheets("Inventaire")
.Unprotect
With .Cells(lgS, 3): .Value = .Value + QT: End With
With .Cells(lgD, 3)
If flgAdd Then .Offset(, -3).Resize(, 12).ClearContents _
Else .Value = .Value - QT
End With
.Protect
End With
Application.ScreenUpdating = -1
End Sub