Bonjour à tous les internautes et cracks d'excel!!
je sollicite votre aide pour le problème de macro suivant:
j'ai un fichier de gestion des stocks qui à l'origine devait permettre la mise à jour de stock dans la feuille "produits référencés" depuis un bouton de commande dénommé "validé" et intégrer dans le module 1.
j'ai voulu intégrer une fonction supplémentaire à ce bouton de commande afin que chaque mouvement de stock (entrée, sortie) apparaisse dans la feuille "mouvements quotidiens".
et là problème!! si les mouvements quotidiens de stocks se font bien sur la feuille "mouvements quotidiens' (sauf pour le fournisseur - cellule B8 de la feuille "saisie"), le stock ne se met plus du tout à jour dans la feuille "produits référencés" !!
j'en appelle ainsi à l'aide des internautes de ce site.
d'avance merci beaucoup!!!!
mon fichier est joint au présent message et le le code à l'origine se présentait comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 Sub Bouton2_QuandClic() pprod = Range("b4").Value op = Range("b5").Value vvaleur = Range("b6").Value ddate = Range("b7").Value vdiff = Range("b10").Value If op = "" Or vvaleur = "" Or ddate = "" Or pprod = "" Then MsgBox ("Toutes les zones doivent être renseignées") Exit Sub End If If op <> "Commande" Then rep = MsgBox("Vous allez mettre à jour le stock, Voulez vous contiuer ?", vbYesNo) If rep = vbYes Then Range("b5:b6").ClearContents Worksheets("Produits Référencés").Select Cells.Find(What:=pprod, After:=ActiveCell, LookIn:=xlFormulas, _ lookat:=xlWhole, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate If op = "Inventaire" Then Cells(ActiveCell.Row, 6).Value = vvaleur lili1 = ActiveCell.Row lili2 = ActiveCell.Row + 151 End If If op = "Entrée" Then Cells(ActiveCell.Row, 6).Value = Cells(ActiveCell.Row, 6).Value + vvaleur lili1 = ActiveCell.Row lili2 = ActiveCell.Row + 151 End If If op = "Sortie" Then Cells(ActiveCell.Row, 6).Value = Cells(ActiveCell.Row, 6).Value - vvaleur lili1 = ActiveCell.Row lili2 = ActiveCell.Row + 151 End If End If Worksheets(2).Select Else rep2 = MsgBox("Vous allez mettre à jour les commandes, Voulez vous contiuer ?", vbYesNo) If rep2 = vbYes Then Range("b5:b6").ClearContents Worksheets("Commande").Select Range("a1").Activate Cells.Find(What:=pprod, After:=ActiveCell, LookIn:=xlValues, _ lookat:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate Cells(ActiveCell.Row, 2).Value = ddate Cells(ActiveCell.Row, 3).Value = vvaleur Cells(ActiveCell.Row, 4).Value = "Non" End If End If End Sub Sub Bcomm_QuandClic() Range("d3:d500").Select For Each cece In Selection If cece.Value = "Oui" Then dquant = Cells(cece.Row, cece.Column - 1).Value ddate = Range("b1").Value dprod = Cells(cece.Row, cece.Column - 3).Value lili1 = cece.Row - 1 lili2 = cece.Row + 500 - 1 Worksheets("Produits Référencés").Select Cells(lili1, 6).Value = Cells(lili1, 6).Value + dquant Worksheets("Commande").Select Cells(cece.Row, cece.Column - 2).ClearContents Cells(cece.Row, cece.Column - 1).ClearContents Cells(cece.Row, cece.Column).ClearContents End If Next Range("a1").Select End Sub
Partager