Récupérer et traiter les valeurs des textbox
Bonjour à tous,
Je rencontre un problème avec l'utilisation d'un userform sur une gestion d'entrée et sortie de stock.
Il est composé de 2 Colonnes de 10 lignes chacune. Dans la première colonne se trouve la référence du produit que j'insère en scannant un code barre.
Dans la deuxième colonne se trouve la quantité à entrer en stock que je saisie manuellement.
Ensuite, une macro traite la référence et augmente le stock de la quantité saisie en deuxième colonne du Userform.
J'ai un code qui me permet de traiter correctement la référence et la quantité de la première ligne, le problème est lorsque je saisie plus d'une référence : Il ne traite que la première.
Je souhaiterais que pour toutes les références scannées en colonne 1 du Userform, la macro traite les quantités en colonne 2 et augmente le stock.
Je vous remercie d'avance du temps que vous consacrerez à mon étude !
J'ai tenté plusieurs possibilités, sans succès, voici l'état de mon code actuel :
Private Sub Valider_Click()
Dim I, QT, STCK, REP, A, X, QTrest As Integer
Dim PRODUIT, REF, CASIER As String
Dim B, c, D, E, F, G, H, IJ, J, K, L, M, N, O, P, Q, R, S, T, U, V, W As TextBox
Application.ScreenUpdating = False
X = 2
Sheets("Gestion").Select
I = 5
B = TextBox1
c = TextBox2
D = TextBox3
E = TextBox4
F = TextBox5
G = TextBox6
H = TextBox7
IJ = TextBox8
J = TextBox9
K = TextBox10
L = TextBox11
M = TextBox12
N = TextBox13
O = TextBox14
P = TextBox15
Q = TextBox16
R = TextBox17
S = TextBox18
T = TextBox19
U = TextBox20
If B = "" Then Exit Sub
While Cells(I, 4) <> B
While Cells(I, 4) <> c
'& Cells(I, 4) <> D & Cells(I, 4) <> E & Cells(I, 4) <> F & Cells(I, 4) <> G & Cells(I, 4) <> H & _
Cells(I, 4) <> IJ & Cells(I, 4) <> J & Cells(I, 4) <> K
If I < 5000 Then
I = I + 1
Else
MsgBox "La référence n'existe pas. Veuillez saisir la bonne référence.", vbCritical, "Référence"
If B = "" Then Exit Sub
I = 5
End If
Wend
PRODUIT = Cells(I, 3)
CASIER = Cells(I, 5)
QT = Userform1.TextBox11
If QT = "" Then Exit Sub
REP = MsgBox("Voulez-vous ajouter " & QT & " : " & PRODUIT & " ?", vbYesNo + vbQuestion, "Entrée de l'article " & REF)
If REP = 7 Then Exit Sub
STCK = Cells(I, 6)
Cells(I, 6) = STCK + QT
Sheets("Archive E et S").Select
A = 2
While Cells(A, 1) <> ""
A = A + 1
Wend
Wend
Cells(A, 1) = Date
Cells(A, 2) = "E"
Cells(A, 3) = REF
Cells(A, 4) = QT
Cells(A, 5) = Environ("username")
Unload Me
Sheets("Gestion").Select
MsgBox "L'entrée a bien été réalisée ! " & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Emplacement" & " : " & CASIER, vbExclamation, "Entrée de l'article " & REF
End Sub
bonjour
mon avis : tu veux imiter ce qu'on faisait avec un papier, un crayon et une calculette il y a 40 ans
Excel possède des fonctionnalités bien plus évoluées, inspirées des SGBD, dont les tableaux et les TCD (ou bien est-ce l'inverses, les SGBD s'inspirent d'Excel ? )
vois ici un exemple de gestion de stocks ultra-simple et qui peut pourtant gérer des milliers de mouvements
https://forum.excel-pratique.com/viewtopic.php?f=3&t=115533
note que tu peux y ajouter un userform pour saisir un mouvement. Ce userform sera très simple car il ne fera pas de calcul.
les calculs se font dans le TCD (et sans aucune formule
amitiés
Bonjour jmd et merci de ta réponse.
J'ai parcouru le sujet mais je ne vois pas le lien avec mon problème. Je ne peux insérer de pièce jointe donc je vais essayer d'être le plus clair possible.
Mon fichier gère une liste d'articles dont les références sont sous la forme de code barre. Lors d'une entrée en stock, je clique sur un bouton qui m'ouvre un Userform qui est composé de deux colonnes de 10 textboxes les unes sous les autres.
Ensuite, je scanne autant de code barre que je rentre de produits en stock. Une textbox correspond à un article. Une fois que tous les articles à entrer en stock sont scannés, je me positionne sur les textbox de droite qui correspondent à la quantité, et je les saisis manuellement.
En validant, la macro s'execute dans le but de retrouver les références qui ont été scannées pour augmenter leur stock des quantités saisies manuellement sur le Userform. J'ai aussi un archivage des entrées et des sorties sur une autre feuille qui se fait automatiquement, et un mail automatique pour la commande en fonction d'un seuil.
Merci d'avance.