Incrémenter une cellule en fonction du temps

Bonjour à tous,

Je suis étudiant en spécialité systèmes de productions et essaye de modéliser un simulateur de ligne de production sous VBA.

Grossièrement, j'ai 4 cellules qui représentent des machines et d'autres faisant office de stock.

Pour le moment j'ai un userform qui me lance un chrono et me permet de lancer des ordres de fabrication sur les machines.

Ce que j'aimerais maintenant, c'est incrémenter/décrémenter des stocks en fonction du temps. Plus clairement, remplir ou vider un stock en fonction du temps de fabrication d'une pièce.

Avez-vous une idée?

Merci.

Lucasg

Bonjour Lucasg et bienvenue sur le forum.

Afin de répondre à ta problématique je vais commencer par te poser quelques questions:

  • est-il possible de joindre le fichier excel ou un équivalent d'exemple
  • peut-tu créer un cas concret simple mais représentatif de ce que tu veux avoir au final

(j'ai 2 machines, et 12 pièces en stock. Je lance la production la machine 1 fait 12pièces/minute donc toutes les minutes je retire 12 au stock , et la machine 2 fait ............. Alors je veux que toutes les x minutes/secondes/heures le stock s'actualise.)

53test-prod.xlsm (168.05 Ko)

Bonjour d3d9x,

Pas de souci, voici un exemple simplifié.

Une machine, un stock en sortie, un bouton renvoyant à un chrono que j'ai emprunté ainsi qu'au lancement de production.

L'idée: je veux 10 pièces, le temps de cycle d'une pièce est (par exemple d'une seconde) et tous ces tps de cycle, le stock en sortie s'incrémente d'une unité.

MErci

Si ton besoin est l'exemple que tu m'as donné, il n'y a pas besoin de VBA...

Si tu sais la cadence de toutes tes machines, il te suffit:

  • Dans une cellule mettre ton temps de départ
  • Dans une autre cellule le temps que tu désires connaitre (ou mettre le temps actuel et rafraîchir ta page toutes les x secondes)
  • Faire la différence en secondes entre les deux temps
  • Faire la somme des productions par machine. (▲t * cadence)

Le truc c'est qu'à terme, il y aura une succession de machines et les pièces passeront d'un stock à un autre.

Le userform avec le chrono et les actions machine est indispensable à mon sens car l'utilisateur pourra mettre en pause le chrono pendant sa phase de réflexion sur le process à lancer...

Penses-tu qu'il est possible de se servir des données du chrono pour lier l'écoulement des stock au temps défilant?

A esprit vaillant rien n'est impossible. Le problème, c'est de commencer à programmer, et ensuite de rechercher à ajouter des fonctions/améliorations. Au début ça passe, après ça devient galère, et au final c'est un bordel monstre.

Je te le cache pas ce que tu cherches à faire te prendra du temps, surtout si tes connaissances en VBA sont limitées.

A vrai dire la partie la plus complexe est la gestion des pauses. En effet si tu veux que dès qu'une pièce est terminée, le stock se mette à jour, il faut utiliser de la planification de procédures

Application.OnTime dans 24 secondes,ajouter 1 au stock

Le problème, c'est qu'il n'est pas possible d'accéder à ces planifications, seulement de les supprimer. Donc si tu te mets au pause, dans le meilleur des cas tu supprimes toutes les planifications, et lorsque tu reprends tu ne sais pas quoi remettre en route, ni quand elles doivent avoir lieu.

J'irai faire un tour du côté de la planification de procédure que je ne connais pas encore.

Je peux éventuellement t'envoyer l'état actuel de mon fichier (complet) si ça peut préciser certains points?

Rechercher des sujets similaires à "incrementer fonction temps"