Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: aftelklok aanpassen/pauzeren  (gelezen 11296 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
aftelklok aanpassen/pauzeren
« Gepost op: 15 december 2023, 15:05:53 »
Goedenamiddag allen,

Voor mijn huidig groot project, waar ik reeds enkele weken mee bezig ben, heb ik een klein excel-bestandje geautomatiseerd waarbij ik via een “dashboard’ overzicht kan houden van alle handelingen (processen met diverse programma’s) die ik moet uitvoeren.
Per handeling heb ik een apart werkblad waarop alle uit te voeren taken staan voor dat specifieke programma. De lijsten worden via VBA aangepast vanuit het “dashboard” waar ik voor elk werkblad een “top 5”-tabelletje (geen echte tabel) heb gemaakt zodat ik voor elke handeling de eerste 5 taken gecentraliseerd kan opvolgen en “doorsturen” naar de volgende handeling.

De laatste 4 handelingen hebben elk een specifieke verwerkingstijd die op elk betreffend werkblad berekend wordt. Elke taak heeft één of meerdere onderdelen en elk onderdeel heeft een vaste verwerkingstijd. Op elk werkblad kan ik dan voor elke taak aangeven of ik deze al dan niet wens op te nemen in de volgende ‘batch’-verwerking. De verwerkingstijd wordt per taak berekend en indien de taak opgenomen moet worden, wordt deze in een extra kolom vermeld.
Het totaal van die extra kolom wordt dan opgeteld bij het opgegeven ‘start’-tijdstip en het resultaat daarvan wordt weergegeven op het “dashboard”.

Soms moet ik een bepaald programma eventjes pauzeren (verdere uitleg in mijn bijgevoegd voorbeeld-bestand) maar dan klopt natuurlijk mijn “eind”-tijdstip niet meer.
Daarom zou ik voor elk van deze handelingen een ‘aftelklok’ (heb er nog eentje uit een vorig project) willen integreren bij de berekeningen op elk bijhorend werkblad met 2 extra knoppen “start” en “pauze”
zodat de “eind”-tijd automatisch aangepast wordt ingeval ik heb moeten pauzeren.

Echter heb ik totaal geen idee hoe ik dit moet aanpakken…

In bijgevoegd voorbeeld-bestand heb ik meer informatie geplaatst alsook de relevante gegevens mbt deze vraag en de code van de ‘aftelklok’ uit mijn vorig project toegevoegd aan een module.
Dit bijgevoegd bestandje is dus maar een minuscuul deel van het echte bestand aangezien het echte bestand strippen/aanpassen te veel tijd in beslag zou nemen (gevoelige info die ook in de code zelf verwerkt zit).

Alvast mijn oprechte dank voor elke vorm van tips/hulp/suggesties en meedenken.


Groetjes,
BlackDevil aka Bieke

1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: aftelklok aanpassen/pauzeren
« Reactie #1 Gepost op: 15 december 2023, 15:54:55 »
Bieke , zou je hier iets mee zijn ?
Mvg,
Arnold.

Offline popipipo

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 317
Re: aftelklok aanpassen/pauzeren
« Reactie #2 Gepost op: 15 december 2023, 16:47:27 »
Ziet er goed uit.
Nu moet je nog wel de stop en start tijden ergens opslaan anders weet je nog niet hoelang de pauze is geweest.
Willem
Hoe meer je weet hoe meer je vergeet.
Hoe meer je vergeet hoe minder je weet.
Hoe minder je weet hoe minder je vergeet.
Hoe minder je vergeet hoe meer je weet.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: aftelklok aanpassen/pauzeren
« Reactie #3 Gepost op: 15 december 2023, 16:52:08 »
Bieke , zou je hier iets mee zijn ?
Mvg,
Arnold.

Hey Arnold,

De klokjes in jouw bestanden zijn eerder van het type “timer” wat op zichzelf staand niet meteen is wat ik zoek.
MAAR misschien kan ik het principe ervan wel combineren met mijn “aftelklok”.

Om een concreet voorbeeld te geven (met de gegevens uit het voorbeeldbestand) :

Duurtijd = “03:21:10:00” (dus 3 dagen, 21 uur en 10 minuten)

Start-tijdstip =  “vr 15-12-2023 16:20:00”

Indien het proces zonder onderbrekingen kan doorlopen dan is het

Eind-tijdstip = “di 19-12-2023 13:30:00”


Als ik met de huidige werking van het bestand het ‘proces’ even moet pauzeren dan moet ik niet alleen handmatig het start-tijdstip aanpassen alvorens verder te gaan maar ook de duurtijd herberekenen…

Stel ik heb het om 17:20:00 gepauzeerd…. En ik herbegin om 17:50:00….
Als ik enkel het start-tijdstip zou aanpassen met het nieuwe tijdstip dan zou hij aangeven

Eind-tijdstip = “di 19-12-2023 15:00:00”
Maar gezien hij al een uur van de duurtijd actief heeft doorlopen is dat dus foutief en moet het zijn

Eind-tijdstip = “di 19-12-2023 14:00:00”

Ik ga niet altijd exact de “pauze”-tijd kennen om enkel die tijd op te tellen bij het start-tijdstip.
Dus wat ik eigenlijk zou moeten kunnen creëren is dat enerzijds de duurtijd aftelt zolang het proces actief is maar stopt met aftellen als het proces gepauzeerd word en anderzijds de start-tijd die gewoon doortelt zoals een timer ongeacht of het proces al dan niet op pauze staat….

Het eind-tijdstip (die de som is van start-tijd + duurtijd) wijzigt dan enkel maar als de duurtijd-aftelling gepauzeerd is.

Als ik me der een beetje op toeleg, puzzel en uittest zal ik misschien de correcte opbouw vinden voor een specifiek werkblad.

Maar dan heb ik nog steeds het probleem dat ik 4 verschillende ‘aftelklokken/timers’ moet hebben die volledig los van elkaar functioneren en ik weet niet zeker of dat überhaupt wel mogelijk is.

Ik ga alvast aan de slag met puzzelen en testen voor 1 werkblad. :thumbsup:


Groetjes,
Bieke
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: aftelklok aanpassen/pauzeren
« Reactie #4 Gepost op: 15 december 2023, 17:16:41 »
Hey Bieke,

Zou het kunnen dat mijn speciale antennes mij het juiste signaal hebben gegeven dat het veel te ver wordt gezocht...
Een begintijd is nu eenmaal een begintijd, dus daar zou ik zeker afblijven. En verder zie ik geen enkele reden waarom een klok zou nodig zijn.
In je voorbeeldbestand heb ik 2 macro's toegevoegd: om te beginnen met pauzeren, en om het pauzeren te stoppen, elk met één regel code.
En op je werkblad zijn 2 extra cellen in gebruik genomen.
Ik snap wel dat het in het echt mogelijk complexer zal zijn, maar misschien toch eens kijken of dit als idee niet kan volstaan?
Knoppen heb ik er niet bijgezet want mogelijk zijn die ook overbodig: een change-event op J19 zou m.i. namelijk ook kunnen.

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline popipipo

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 317
Re: aftelklok aanpassen/pauzeren
« Reactie #5 Gepost op: 15 december 2023, 17:45:23 »
Ik vraag me toch af aan wat voor soort proces ik moet denken  dat bijna 4 dagen (+/- 300.000 seconden) duurt en je op de seconde af moet weten wanneer het klaar is.
Willem
Hoe meer je weet hoe meer je vergeet.
Hoe meer je vergeet hoe minder je weet.
Hoe minder je weet hoe minder je vergeet.
Hoe minder je vergeet hoe meer je weet.

Offline popipipo

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 317
Re: aftelklok aanpassen/pauzeren
« Reactie #6 Gepost op: 15 december 2023, 18:36:23 »
Ik heb me er een beetje in verdiept en ben daarbij uit gegaan van een iets ander standpunt.In plaats van een timer te starten en te stoppen kun je natuurlijk ook in een de pauze in cel aparte cel te zetten.Dan heb je niets te maken met 4 timers die je moet starten of stoppen In plaats daarvan zet je dmv dubbel klikken een start tijd en stop tijd in een cel.Door deze tijden van elkaar af te trekken heb je een totale pauze tijd en deze kun je dus weer optellen bij de oorspronkelijke eind tijd.
Zie bijlage rijen 40-45
Willem
Hoe meer je weet hoe meer je vergeet.
Hoe meer je vergeet hoe minder je weet.
Hoe minder je weet hoe minder je vergeet.
Hoe minder je vergeet hoe meer je weet.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: aftelklok aanpassen/pauzeren
« Reactie #7 Gepost op: 15 december 2023, 18:43:39 »
@Molly,

Inderdaad, met jouw aanzet kan ik het doen zonder aftelklok/timer....
Je hebt me nu op het idee gebracht om op mijn dashboard bij elke handeling 3 knopjes te zetten (start/pauze/hervat) waardoor
ik dan zelfs geen starttijd meer handmatig moet ingeven in het betreffende werkblad maar dit dus gewoon vanuit mijn 'dashboard'
dan via de knopjes kan doen. de 'start' bepaald dan de absolute starttijd, de 'pauze' bepaald dan het begin van de pauze en de
'hervat' bepaald dan het einde van de pauze.

Dus bedankt voor jouw (alweer mooie) input  :thumbsup: _/-\o_


@popipipo,
Ik vraag me toch af aan wat voor soort proces ik moet denken  dat bijna 4 dagen (+/- 300.000 seconden) duurt en je op de seconde af moet weten wanneer het klaar is.
Blijkbaar heb je mijn startbericht niet of maar 'half' gelezen.... :)
Citaat
Elke taak heeft één of meerdere onderdelen en elk onderdeel heeft een vaste verwerkingstijd. Op elk werkblad kan ik dan voor elke taak aangeven of ik deze al dan niet wens op te nemen in de volgende ‘batch’-verwerking. De verwerkingstijd wordt per taak berekend en indien de taak opgenomen moet worden, wordt deze in een extra kolom vermeld.
Het totaal van die extra kolom wordt dan opgeteld bij het opgegeven ‘start’-tijdstip en het resultaat daarvan wordt weergegeven op het “dashboard”.
Hieruit zou duidelijk moeten zijn dat er in één proces ("batch"-verwerking) meerdere taken kunnen worden samengevoegd. ;)

groetjes,
BlackDevil/Bieke
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline popipipo

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 317
Re: aftelklok aanpassen/pauzeren
« Reactie #8 Gepost op: 15 december 2023, 18:59:00 »
Citaat
maar 'half' gelezen....
Dat heb je met die lange vragen, dan lees je veel te snel en over van alles heen.
Willem
Hoe meer je weet hoe meer je vergeet.
Hoe meer je vergeet hoe minder je weet.
Hoe minder je weet hoe minder je vergeet.
Hoe minder je vergeet hoe meer je weet.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: aftelklok aanpassen/pauzeren
« Reactie #9 Gepost op: 16 december 2023, 12:07:00 »
***update***

Ik heb gedaan zoals ik in mijn reactie #7 had vermeld (3 knopjes per handeling op het dashboard)
en alles werkt naar wens...

topic opgelost dus  :thumbsup:

groetjes,
BlackDevil aka Bieke
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: aftelklok aanpassen/pauzeren
« Reactie #10 Gepost op: 16 december 2023, 12:38:46 »
Fijn om te vernemen :thumbsup:
Dit was er dus eentje dat snel kon afgevinkt worden :)

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: aftelklok aanpassen/pauzeren
« Reactie #11 Gepost op: 17 december 2023, 04:21:53 »
***CORRECTIE***

Zou het kunnen dat mijn speciale antennes mij het juiste signaal hebben gegeven dat het veel te ver wordt gezocht...
Een begintijd is nu eenmaal een begintijd, dus daar zou ik zeker afblijven. En verder zie ik geen enkele reden waarom een klok zou nodig zijn.
Waar bovenstaande stelling zeker correct was inzake het verwerken van een "pauze" in de berekening van het eind-tijdstip is het jammer genoeg
geen oplossing voor het tweede deel in de doelstelling van de berekening van het eind-tijdstip.

Zoals ik in mijn voorbeeld-bestand had aangegeven zijn er in mijn eind-formule (voor de weergave op mijn 'dashboard') meerdere voorwaarden van toepassing...
De meeste van deze voorwaarden worden automatisch 'getriggerd' door de handelingen die via het 'dashboard' worden uitgevoerd.
Er is echter 1 voorwaarde die afhangt van het huidige tijdstip en niet automatisch getriggerd wordt....

Namelijk als de huidige tijd groter is dan het berekende eind-tijdstip moet de weergave automatisch wijzigen in : "is klaar met verwerken"

dit is de betreffende formule :
=ALS(AANTAL.ALS(E2:E30;"j")>0;ALS(N4="lopend";ALS(N8>NU();N8;"is klaar met verwerken");"is gepauzeerd");"is inactief")
Hiervoor zal ik m.i. toch een vorm van een klok/timer moeten implementeren... of is er een andere manier om die extra voorwaarde automatisch te laten triggeren?


groetjes,
Bieke
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: aftelklok aanpassen/pauzeren
« Reactie #12 Gepost op: 17 december 2023, 21:14:08 »
***UPDATE***

Omdat een aftelklok/timer veel te storend was door de constante screen-updating ben ik mij wat verder gaan verdiepen in de materie.
Ik had ondertussen de bediening van mijn 12 (4 handelingen x 3 knoppen) knoppen reeds netjes in één procedure kunnen plaatsen door gebruik te maken van de "Application.Caller" wat een pak efficiënter werkt dan 12 afzonderlijke procedures met allemaal dezelfde berekeningen en enkel maar een verschillend werkblad  ;D.

Om automatisch mijn eind-formule-resultaat op het "dashboard" te laten wijzigen in "is klaar met verwerken" zodra het eind-tijdstip bereikt is ben ik me wat gaan verdiepen in de "Application.OnTime"...

Mits toevoeging van 1 cel per werkblad én een kleine aanpassing in mijn eind-formule heb ik via de combinatie van "Application.Caller" en "Application.OnTime" volgende drie procedures opgebouwd (de namen van de werkbladen en knoppen zijn wel aangepast voor de plaatsing hier) :

Sub bediening1()
  Dim ws As Worksheet, rij As Long
  Select Case Left(Application.Caller, 2)
    Case "H1"
      Set ws = Sheets("Handeling1")
    Case "H2"
      Set ws = Sheets("Handeling2")
    Case "H3"
      Set ws = Sheets("Handeling3")
    Case "H4"
      Set ws = Sheets("Handeling4")
  End Select
  With ws
    Select Case Left(Application.Caller, 2)
      Case "H4"
        Select Case Mid(Application.Caller, 3, 1)
          Case "s"
            If .Cells(4, 14) <> "pauze" Then
              .Cells(4, 14) = "lopend": .Cells(4, 16) = "": .Cells(5, 14) = Now: .Cells(6, 14) = "": .Cells(7, 14) = ""
              eind_ontime_starten
            End If
          Case "p"
            If .Cells(4, 14) <> "pauze" Then
              .Cells(4, 14) = "pauze": .Cells(6, 14) = Now
            End If
          Case "h"
            If .Cells(4, 14) = "pauze" Then
              .Cells(4, 14) = "lopend": .Cells(7, 14) = Now: .Cells(4, 16) = .Cells(4, 16) + .Cells(7, 14) - .Cells(6, 14)
            End If
        End Select
      Case Else
        Select Case Mid(Application.Caller, 3, 1)
          Case "s"
            If .Cells(4, 16) <> "pauze" Then
              .Cells(4, 16) = "lopend": .Cells(4, 18) = "": .Cells(5, 16) = Now: .Cells(6, 16) = "": .Cells(7, 16) = ""
              eind_ontime_starten
            End If
          Case "p"
            If .Cells(4, 16) <> "pauze" Then
              .Cells(4, 16) = "pauze": .Cells(6, 16) = Now
            End If
          Case "h"
            If .Cells(4, 16) = "pauze" Then
              .Cells(4, 16) = "lopend": .Cells(7, 16) = Now: .Cells(4, 18) = .Cells(4, 18) + .Cells(7, 16) - .Cells(6, 16)
            End If
        End Select
    End Select
  End With
End Sub
'-------------------------------------------------------------------------------------------
Sub eind_ontime_starten()
  Dim begin As Variant
  Select Case Application.Caller
    Case "H1start"
      begin = Sheets("Handeling1").Cells(8, 16)
    Case "H2start"
      begin = Sheets("Handeling2").Cells(8, 16)
    Case "H3start"
      begin = Sheets("Handeling3").Cells(8, 16)
    Case "H4start"
      begin = Sheets("Handeling4").Cells(8, 14)
  End Select
  Application.OnTime CDate(begin), "vordering"
End Sub
'-------------------------------------------------------------------------------------------------------------
Sub vordering()
  If Sheets("Handeling1").Cells(8, 16) = Now Then Sheets("Handeling1").Cells(2, 23) = "klaar"
  If Sheets("Handeling2").Cells(8, 16) = Now Then Sheets("Handeling2").Cells(2, 23) = "klaar"
  If Sheets("Handeling3").Cells(8, 16) = Now Then Sheets("Handeling3").Cells(2, 23) = "klaar"
  If Sheets("Handeling4").Cells(8, 14) = Now Then Sheets("Handeling4").Cells(2, 23) = "klaar"
End Sub

de formules zijn nu aangepast als volgt :

voor de eerste 3 handelingen :
=ALS(AANTAL.ALS(I2:I30;"j")>0;ALS(P4="lopend";ALS(W2<>"klaar";P8;"is klaar met verwerken");"is gepauzeerd");"is inactief")

voor de 4e handeling :
=ALS(AANTAL.ALS(E2:E30;"j")>0;ALS(N4="lopend";ALS(W2<>"klaar";N8;"is klaar met verwerken");"is gepauzeerd");"is inactief")

Ik heb het nog niet volledig uitgebreid kunnen testen maar ingeval ik toch 'bugs' of 'valkuilen' zou tegenkomen dan laat ik het hier weten. :thumbsup:

groetjes,
Bieke
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com