Outil de planification
Bonjour à tous,
J'ai un tableau dans lequel je souhaite créer une planification de la production sur 5 jours.
Actuellement j'ai un tableau dans lequel j'ai différentes données calculées pour des produits ainsi pour un produit j'ai :
- son stock en début de semaine et son objectif de stock en fin de semaine. Ainsi je dois produire si je dois augmenter mon stock, d'une part.
- D'autre part, j'ai une colonne reprenant mes besoins clients sur la semaine et ces meme besoins clients décomposées jours par jours.
Afin de créer une planification respectant cela j'ai créer une macro.
La macro que j'ai actuellement ne prend en compte que les besoins clients jours et la taille de lot. En effet, je ne lance une production qu'en taille de lot ou multiple de la taille de lot ainsi si lundi mon client veut 8 ma macro lui dit de produire 12 car la taille de lot est 6 et je dis à ma macro de produire à l'arrondi supérieur.
Voici la macro :
Code :
Option Explicit
Dim i&, j&
Sub Fairelaplanif()
For j = 24 To 36 Step 3
For i = 5 To 16
If Cells(i, j).Value < Range("R" & i) Then
Cells(i, j + 1).Value = 0
Else
Cells(i, j + 1).Value = Application.RoundUp(Cells(i, j).Value / Range("R" & i), 0) * Range("R" & i)
End If
Next i
Next j
End Sub
Ce que je souhaite faire désormais c'est :
'Pour chaque ref faire
'tant que nombre carte boite à lot (colonne l) < nombre de carte hebdo pdp (colonne p)
' et tant que nb carte bl (colonne l) / (taille de lot* nombre de jours semaine (d3)
' alors lancer un lot ==> taille de lot = (resultat de nb carte bl (colonne l)/ (taille de lot* nombre de jours semaine (d3) )* colonne v taille de lot
' une fois que le lot est lancer je souhaite que ma macro reprenne le calcul sur chaque reference et me dise combien il reste dans la nouvelle boite à lot BLn = Besoins clients - lot que je viens de lancer juste au dessus
' ensuite que la macro effectue un tri pour savoir quelle reference est prioritaire par rapport à une autre pour relancer un lot et ainsi de suite
L'objectif finale étant de lisser la production sur la semaine en respectant les contraintes de taille de lot, de besoins clients et de stocks.
Je vous remercie vraiment pour votre aide !!!!
J'ai essayé et voila à quoi je veux que ma macro ressemble néanmoins n'étant pas un expert ce code est rempli d'erreur. Pouvez vous m'aider ?
Option Explicit
Dim i&, j&, bes&, pdp&
Sub CompléterLaPlanif()
For j = 20 To 32 Step 3
For i = 5 To 12
For bes = 5 To 12
For pdp = 5 To 12
While Range(i, bes).Value < Cells(i, pdp).Value
While Range(i, bes) / Range("O" & i) * Range(3, 4)
If Cells(i, j).Value < Range("O" & i) Then
Cells(i, j + 1).Value = 0
Else
Cells(i, j + 1).Value = Cells(i, bes).Value / Cells(3, 4).Value * Application.RoundUp(Range("O" & i)* Cells(3, 4).Value
'Et la je souhaite recalculer combien il me reste à produire dans les autres colonnes de planification juste après avoir produit le chiffre de la cellule u5 6 7 8 9 10 11 12.
End If
Next i
Next j
Next bes
Next pdp
Wend
End Sub
Je me suis peut etre mal exprimé ou cela est impossible ?