Résolu reporter automatiquement sur un planning de production

neim

XLDnaute Nouveau
Bonjour à tous,

J'ai créé un fichier de production et je souhaiterai automatiser le report sur le planning des éléments de production. J' ai une idée précise de ce qui devrait être fait mais pas de comment l'obtenir.
Voici ce que j'aimerai automatiser par macro ou autres :

1.) Planifier les nouveaux produits => validation macro par bouton ?
Lorsque l'on ajoute une ligne dans la feuille "Produit en cours", choisir l'opérateur le plus disponible en fonction du "numéro de priorité" et de la "date de mise à disposition" (si impossible d'intégrer les 2 elements, preferer la date de mise à disposition) et calculer une date de commencement et de fin. Le temps de fabrication et inscrit manuellement, mais il faudrait pour le calcul de la date de fin y ajouter les week-end, jour fériés ou autres qui serait dans la periode de production (sous forme de liste de jours ouverts/jours fermes ?). Ensuite attribuer le produit à l'opérateur concerné dans la feuille "Planning" en tenant compte de la priorité
Trier les lignes par ordre de priorité
Si on change le numero de priorité :
-modifier les autres en concequence. Ex : priorite 1, 2, 3, 4. Si je met le numero 1 à la place du 4, le 1 devient 2, le 2 devient 3….
- redistribuer les produits aux différents opérateurs selon le nouvel ordre de priorité
2.) Planifier avec un nouvel opérateur
Si on ajoute un opérateur 5, un 6…. Redistribuer les produits dans la feuille "Produit en cours" et leurs attribuer les produits dans la feuille "Planning"
3.) Archiver=> activation de la macro par bouton ?
-Si il y une date dans la colonne "termine", alors couper et coller les données sur la premiere ligne vide de la feuille archive
- remonter toutes les lignes de la feuilles "Produit en cours" en les triant par priorité
-Recopier les formules des colonne "H" et "K" de la premiere ligne vide jusqu’à la 300ème
Fonctionnement / contraintes
la priorité 1 ne commence pas forcement en premier, mais doit commencer impérativement au plus proche de la date indiqué dans la colonne "date de mise àdisposition")
Un produit peut etre "decouper" pour integrer une priorite au milieu (et ainsi modifier la date de fin)
La priorité 3 peut etre termine avant la priorite 1 (selon la date de mise à disposition)
Les couleurs des produits dans la feuille "planning" n'a pas d'importance, 1 sur 2 ou 2 par opérateur…
Je n'ai pas d'imperatif sur la mise en forme des tableaux "produits en cours" ou planning

Si vous avez une solution sur l'ensemble ou une partie de ma problématique je suis preneur. N'hesitez pas si vous avez besoin de plus d informations ou precisions.

Merci à tous
 

Fichiers joints

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

niem (le retour ;))
Voici une macro "basique" pour le point 3) -> premier élément
VB:
Sub Archiver()
Set f = Sheets("Archives")
If IsDate(ActiveCell.Value) Then
Cells(ActiveCell.Row, 1).Resize(, 12).Copy
f.Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
End If
End Sub
NB: macro à peaufiner

Pour tester, sélectionner la cellule L7 puis lancer la macro
et ensuite aller voir le résultat sur la feuille Archives.

PS: la colonne ne se nomme pas termine mais Produit terminé.
 

Staple1600

XLDnaute Barbatruc
Re

Avant d'aller au dodo, une version plus compléte qui fait tout le point 3
VB:
Sub Archiver_V2()
Dim fin&, f As Worksheet, formI$, formL$
Set f = Sheets("Archives")
fin = f.Cells(Rows.Count, 1).End(3).Row
formI = "=IF(RC[-3]="""","""",RC[-3]+RC[-1]-1)"
formL = "=IF(RC[-1]="""","""",IF(RC[-1]=RC[-7],TODAY(),""""))"
If IsDate(ActiveCell.Value) Then
Cells(ActiveCell.Row, 1).Resize(, 12).Copy
f.Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
ActiveCell.EntireRow.Delete
[A4].CurrentRegion.Sort key1:=[A5], Order1:=1, Header:=xlYes
Range("I5:I" & fin).FormulaR1C1 = formI
Range("L5:L" & fin).FormulaR1C1 = formL
End If
End Sub
Même mode opératoire pour tester.

PS: Test OK sur mon PC avec ton fichier exemple.
 

neim

XLDnaute Nouveau
Bonjour
Merci pour ce retour rapide. Je test de ça de mon côté des que possible et te redis.
Merci
 

neim

XLDnaute Nouveau
Bonjour Staple1600

Je viens de tester et effectivement ca marche bien :)

Par contre les formules sont recopiées depuis la ligne 1 au lieu de la première ligne non vide.
 

Haut Bas