Bonjour à tous,
D'avance à ceux qui me liront, merci si vous pouvez m'apporter un peu d'aide, je suis vraiment plus que débutant en VBA et je souhaite réaliser qquchose de bien trop complexe pour moi je pense …
Voici mon problème :
Chaque ligne de mon fichier exprime les informations d'une variante (colonne S) sur un magasin. Ce fichier doit ordonner les réapprovisionnements sur les magasins en fonction des ventes passées. Jusque la, j'ai tout fait en formules, c'est OK.
Parfois, il arrive que le stock de l'entrepôt, colonne AB (supposé servir tous les magasins) est inférieur à la somme des approvisionnements à envoyer en magasin … il va donc avoir une rupture sur certains magasin .. Et dans ce cas, il faut prioriser les envois vers les magasins prioritaires …
Les informations ont été filtrées par priorité (colonne R) et par variante (colonne S) : elles sont donc dans le bon ordre pour décrémenter les stocks entrepôts au fur et à mesure et servir les magasins prioritaires.
J'ai donc essayé quelque chose comme çà :
Mais ça ne marche pas du tout et fait planter le fichier … je pense que la logique est de dire : tant que la variante de la ligne du dessous est identique a la ligne courante, décrémente le stocks dispo jusqu'à zéro.
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 Sub NA() Dim j As Long j = 18 Do While Cells(j, 19).Value <> "" If Cells(j, 28).Value < Cells(j, 68).Value Then If Cells(j + 1, 19).Value = Cells(j, 19).Value Then cells(j, 71).value = cells(j, 28).valeur - cells(j, 65) Else j = j + 1 End If End if Loop End Sub
Quelqu'un aurait il une idée pour m'apporter un peu d'aide sur le sujet ?
Merci mille fois d'avance et à dispo pour discuter
Partager