OVH Cloud OVH Cloud

Extraction selon 1 somme

1 réponse
Avatar
Beabou
Bonjour,
J'ai le pb suivant à résoudre avec une base de données :
Colis Réf Qté
1 100 5
2 100 10
3 100 3
4 200 4
5 200 10
Par exemple, je veux extraire 8 qté de la réf 100.
Il doit me prendre le colis 1(5 qté)+ le colis 2(3 qté)et me donner la qté
restante dans le colis.
J'ai retourné le pb dans tous les sens mais je n'y arrive pas.
Si vous avez des pistes, je suis preneuse.
Merci.
Bonne journée / Beabou.

1 réponse

Avatar
Benead
Salut Beabou,

Tu peux t'inspiré de ce bout de code :

' ************
Option Explicit

Sub SortieDeStock()
Dim CodeArticle As String, QtéSortie, lig As Long, ColColis As Byte, ColRef As Byte, ColQté As Byte
ColColis = 1
ColRef = 2
ColQté = 3

CodeArticle = Application.InputBox("Code article ?", "Sortie de stock", 100)
If CodeArticle = False Then Exit Sub

QtéSortie = CLng(Application.InputBox("Qté sortie ?", "Sortie de stock", 8, , , , 1))
If QtéSortie = False Then Exit Sub

For lig = 2 To ActiveSheet.UsedRange.Rows.Count
If QtéSortie = 0 Then Exit Sub
If Cells(lig, ColRef).Text = CodeArticle Then
If Cells(lig, ColQté) < QtéSortie Then
QtéSortie = QtéSortie - Cells(lig, ColQté)
Cells(lig, ColQté) = 0
Else
Cells(lig, ColQté) = Cells(lig, ColQté) - QtéSortie
QtéSortie = 0
End If
End If
Next lig
End Sub
' *************

J'ai fait le test sur ton exemple en mettant le numéro de colis en colonne A, la réf en colonne B et la Qté en C.
Comme je ne savais pas ce que faire du reste, je le supprimais des qtés la valeur qui sortait du stock (dans ton exemple 8).

Si tu veux en savoir plus, reviens sur ce fil.

A+
Benead
XL97

Beabou a écrit:
Bonjour,
J'ai le pb suivant à résoudre avec une base de données :
Colis Réf Qté
1 100 5
2 100 10
3 100 3
4 200 4
5 200 10
Par exemple, je veux extraire 8 qté de la réf 100.
Il doit me prendre le colis 1(5 qté)+ le colis 2(3 qté)et me donner la qté
restante dans le colis.
J'ai retourné le pb dans tous les sens mais je n'y arrive pas.
Si vous avez des pistes, je suis preneuse.
Merci.
Bonne journée / Beabou.