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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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.
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.