VBA Gestion de stock (plusieurs conditions, résultats différents)

nacereddine.mourad

XLDnaute Nouveau
Bonjour;
je tiens d'abord à vous remercier de vos efforts

explication du code:

ListBox3.ListIndex

1- Première condition : Si l'item sélectionner sur ListBox3 est dans la feuille "BDD", deuxième condition : et la quantité prêter "Mouvementmatériels colonne b" = la quantité rendu (TextBox1) ou plus (=>) :
.FAIRE: CommandButton18 = Première condition : sommer la quantité rendu avec celle du stock dans le même item présent dans feuille "BDD colonne b", et deuxième condition : effacer la ligne de l'item sélectionner sur listbox3 feuilles "Mouvementmatériels colonne b".

2- Première condition : Si l'item sélectionner sur ListBox3 est dans la feuille "BDD", deuxième condition : et la quantité prêter "Mouvementmatériels colonne b" < la quantité rendu (TextBox1) (<) :
.FAIRE: CommandButton18 = Première condition : sommer la quantité rendu (TextBox1) avec celle du stock dans le même item présent dans feuille "BDD colonne b", et deuxième condition : soustraire la quantité rendu (TextBox1) avec la valeur de l'item sélectionner listbox3 feuilles "Mouvementmatériels colonne b".

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1- Première condition : Si l'item sélectionner sur ListBox3 n'est pas dans la feuille "BDD", deuxième condition : et la quantité prêter "Mouvementmatériels colonne b" = la quantité rendu (TextBox1) ou plus (=>) :
.FAIRE: CommandButton18 = Première condition : ajouter l'item sélectionner sur listbox3 et la quantité rendu (TextBox1) dans feuille "BDD colonne A et b respectivement", et deuxième condition : effacer la ligne de l'item sélectionner sur listbox3 feuilles "Mouvementmatériels".

2- Première condition : Si l'item sélectionner sur ListBox3 n'est pas dans la feuille "BDD", deuxième condition : et la quantité prêter "Mouvementmatériels colonne b" < la quantité rendu (TextBox1) (<) :
.FAIRE: CommandButton18 = Première condition : ajouter l'item sélectionner dans listbox3 et la quantité rendu (TextBox1) dans feuille "BDD colonne A et b respectivement", et deuxième condition : soustraire la quantité rendu (TextBox1) avec la valeur de l'item sélectionner listbox3 feuilles "Mouvementmatériels colonne b".

j'espère que mon explication est clair, encore merci

Code:
Private Sub CommandButton18_Click()

Dim Ligne
  Ligne = ListBox3.ListIndex

If Ligne = False Or _
Me.TextBox1.Value = "" Or _
Me.TextBox1.Value = 0 Then
MsgBox "Il faut sélectionner l'item et la quantité rendu"
Exit Sub
UserForm1.Show
Else

'Msgbox Ok + Annuler
Select Case MsgBox("Veuillez confirmer que le matériel est rendu", vbOKCancel, "Demande de confirmation")
    Case vbOK
        'procédure si click sur Ok


With MyRange
Dim LastRow As Range
Dim Response As Integer

If ComboRef.Text = Sheets("BDD").Range("A" & Me.ComboRef.ListIndex + 3) And _
Me.TextBox17.Value <= 0 Then
Sheets("BDD").Range("B" & Me.ComboRef.ListIndex + 3) = Sheets("BDD").Range("B" & Me.ComboRef.ListIndex + 3) + Me.TextBox1.Value
.Rows(Ligne + 1).EntireRow.Delete

If ComboRef.Text = Sheets("BDD").Range("A" & Me.ComboRef.ListIndex + 3) And _
Me.TextBox17.Value > 0 Then
Sheets("BDD").Range("B" & Me.ComboRef.ListIndex + 3) = Sheets("BDD").Range("B" & Me.ComboRef.ListIndex + 3) + Me.TextBox1.Value
Sheets("Mouvementmatériels").Range("B" & Me.ListBox3.ListIndex + 2) = Me.TextBox17.Value

If ComboRef.Text <> Sheets("BDD").Range("A" & Me.ComboRef.ListIndex + 3) And _
Me.TextBox17.Value <= 0 Then
 UserForm2.Show
With Sheets("BDD")
Set LastRow = Sheets("BDD").Range("a65536").End(xlUp)
LastRow.Offset(1, 2).Value = TextBox15.Text
LastRow.Offset(1, 3).Value = TextBox16.Text
LastRow.Offset(1, 0).Value = TextBox18.Text
LastRow.Offset(1, 1).Value = TextBox1.Text
End With
.Rows(Ligne + 1).EntireRow.Delete

If ComboRef.Text <> Sheets("BDD").Range("A" & Me.ComboRef.ListIndex + 3) And _
Me.TextBox17.Value > 0 Then
Sheets("Mouvementmatériels").Range("B" & Me.ListBox3.ListIndex + 2) = Me.TextBox17.Value
UserForm2.Show
With Sheets("BDD")
Set LastRow = Sheets("BDD").Range("a65536").End(xlUp)
LastRow.Offset(1, 2).Value = TextBox15.Text
LastRow.Offset(1, 3).Value = TextBox16.Text
LastRow.Offset(1, 0).Value = TextBox18.Text
LastRow.Offset(1, 1).Value = TextBox1.Text
End With

End If
End If
End If
End If
End With



Case vbCancel
        'procédure si click sur Annuler
  Exit Sub
UserForm1.Show
End Select
End If
End Sub

Merci encore
 

Pièces jointes

  • Préparateur vide.xlsm
    202.3 KB · Affichages: 178
Dernière modification par un modérateur:

Discussions similaires

Réponses
4
Affichages
207

Statistiques des forums

Discussions
312 182
Messages
2 086 002
Membres
103 084
dernier inscrit
Hervé30120