Bonjour
Michel,
j'ai quand même fait une autre version
sans les 2 colonnes stock.
sur la feuille "TRT", j'ai supprimé les 2 colonnes E et F : "Stock initial" et "Stock restant"
➯ la colonne "
Total mouvements mensuel" est passée de
G en
E
➯ le tableau comporte
5 colonnes de
A à
E, au lieu de
7
➯ dans la sub RécapTyp(), la ligne pour effacer les anciens résultats devient :
If n2 > 1 Then [A2].Resize(n2 - 1, 5).ClearContents 'effacement des anciens résultats
dans cette même sub RécapTyp(), juste après If Not cel Is Nothing Then
j'ai enlevé Cells(n2, 5) = Stk
qui était pour écrire le Stock initial en colonne E ➯ la ligne complète devient :
Stk = cel.Offset(, 1): TQE = 0: TQS = 0
sur la ligne ci-dessus, j'espère que tu n'as pas enlevé Stk = cel.Offset(, 1)
car il est nécessaire pour le calcul progressif du Stock restant, qui sera écrit plus tard en feuille "Stock", colonne B.
sur la dernière ligne de la sub MvtX(), j'ai enlevé Cells(k2, 6) = Stk
qui était pour écrire le Stock restant en colonne F ➯ la ligne complète devient :
If b > 0 Then Tbl(lg, 5) = 1
utilisation du fichier :
* la feuille "TRT" est vide (sauf les en-têtes, en A1:E1)
* va sur la feuille "Mvts" ; fais Ctrl e ➯ image :
Regarde la pièce jointe 1104209
* sur la feuille "Stock", ça a été correctement mis à jour en colonne B "Quantité" :
Regarde la pièce jointe 1104213
si tu as déjà réussi à faire tout ça : parfait !
sinon, ce post pourra t'aider, ainsi que d'autres lecteurs de cette conversation.
au cas où tu aurais envie de supprimer aussi la colonne E "Total mouvements mensuel", il te suffit de la supprimer, puis de mettre 4 au lieu de 5 dans cette ligne de code VBA :
If n2 > 1 Then [A2].Resize(n2 - 1,
4).ClearContents
'effacement des anciens résultats
y'a rien d'autre à changer dans le code VBA, car ma sub RécapTyp() n'écrit rien dans cette colonne E.
soan