You are here:Home-Domande su Excel VBA e MACRO-Turnazione automatica
Turnazione automatica2020-04-08T05:36:56+02:00

Home Forum Domande su Excel VBA e MACRO Turnazione automatica

Taggato: 

Visualizzazione 5 filoni di risposte
  • Autore
    Post
    • Avatarliquid
      Partecipante
        Post totali: 14

        un saluto a tutti

        parliamo di turnazione al posto di lavoro…. (l’ennesimo post, ma del resto ogni realtà è diversa dalle altre):

        abbiamo una turnazione lavorativa atipica dovuta a regole contrattuali, regole dell’ufficio del personale e chi più ne ha ne metta. ogni mese facciamo i turni in modo manuale non rispettando regole ben definite e con questo metodo, spesso ci sono delle “ingiustizie” chiaramente involontarie. abbiamo creato un programmino in Excel con codice VBA, per cercare di automatizzare quanto più possibile la procedura e cercare l’equità nel ciclo dei turni. il programma di per se funziona bene ma, manca il famoso algoritmo. mi spiego meglio:

        abbiamo 4 operatori che lavorano 40 ore/settimana
        abbiamo 3 operatori che lavorano 24 ore/settimana
        la settimana lavorativa è da intendersi dal lunedì alla domenica
        ogni operatore deve obbligatoriamente lavorare le proprie ore settimanali a costo di sovrapporsi con i colleghi
        ogni operatore deve avere 1 giorno di riposo
        ogni operatore a 24 ore/settimana, effettua uno o più turni di reperibilità (rimane a casa in caso di emergenza. questo turno non incide sulle ore lavorative)
        ogni operatore, può lavorare 1 o 2 notti di seguito
        quando termina la notte, sarà SMONTANTE (questo turno non incide sul monte ore)
        possibilmente dopo lo smontate, sarà di RIPOSO (anche questo non incide sulle ore e non è una condizione obbligatoria che capiti dopo lo SMONTANTE)
        non è possibile ad esempio per un lavoratore a 40 ore, fare una settimana da 32 ore e la successiva di 46
        equità nei turni si intende ad esempio, che una domenica al mese ognuno sia almeno di RIPOSO (cosiddetti turni a scalare)

        gli orari dei turni, sono: 06/14 – 14/22 – 22/06

        tutto ciò premesso, abbiamo provato diverse sequenze ma senza il risultato desiderato. ad esempio, se si turna in questo modo:

        40 ore/settimana
        6/14 – 6/14 – 14/22 – 14/22 – 22/06 – SMONTANTE – RIPOSO
        la sequenza è quasi perfetta, ma concederà a qualcuno di stare tutte le domeniche a casa mentre altri, sempre a lavoro
        oppure per i 24 ore/settimana

        – 24 ore/settimana-
        6/14 – 14/22 – 22/06 – SMONTANTE – REPERIBILE – RIPOSO
        in questo caso sembra ok

        ho scritto all’inizio che il programmino di per se funziona bene ma a questo punto mi sorge il dubbio: non è che abbiamo approcciato in maniera sbagliata il tutto? in sostanza il lavoro realizzato, non fa altro che ciclare una sequenza in base a quanto impostato nel codice VBA ed è “condito” con delle utility per verificare se ci sono incongruenze alle regole che ho riportato nella spiegazione (già questo è di grande aiuto!)

        Curiosando su Google, ho letto del componente aggiuntivo “RISOLUTORE” che forse potrebbe aiutare ma ne ignoro l’uso.
        A fine messaggio il link per scaricare un file di test e ne spiego il funzionamento:
        Premesso che si basa sul ripetere una sequenza di turni (e probabilmente è qui il problema), facendo doppio click sul nome (es. PIPPO), la macro chiede il 1° turno da inserire e da li ripete la sequenza.
        gli operatori evidenziati in blu, sono a 40 ore/settimana mentre quelli in viola, a 24 ore/settimana
        nei turni di aprile, si nota che ci sono parecchie ferie dovute all’attuale emergenza sanitaria….
        cliccando sul pulsante “REPORT COMPLETO”, appare una form in modo che, al volo si vede se ci sono turni mancanti in un determinato giorno o quante persone sono sovrapposte nel turno.
        la parte inferiore, calcola le ore della settimana lavorativa in modo da vedere se vengono rispettate le regole contrattualispero sia tutto chiaro e mi auguro qualcuno sappia risolvere l’enigmagrazie in anticipo a tutti

        • Questo topic è stato modificato 5 mesi, 3 settimane fa da Avatarliquid.
        • Questo topic è stato modificato 5 mesi, 3 settimane fa da Avatarliquid.
      • BySalvBySalv
        Amministratore del forum
          Post totali: 772

          Ciao Liquid, avevo trovato un file con solver per il tuo problema e ne spiegava anche l’impostazione, ma non riesco a trovare più il sito per la spiegazione, ti allego il file cosi com’è, comunque cerco di trovare il sito per la spiegazione

          ecco il link

          http://www.filedropper.com/solvermod5p

          Ciao By Sal (8-D

           

           

          Ciao By Sal (8-)
          se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

        • Avatarliquid
          Partecipante
            Post totali: 14

            ciao By Sal

             

            grazie per il tuo intervento e per il file…. se riesci a trovare la spiegazione, te ne sarei infinitamente grato.

             

            a presto

          • BySalvBySalv
            Amministratore del forum
              Post totali: 772

              Ciao vedi questo, che dovrebbe riuscire a risolvere, sono degli esempi, tra i quali è scaturito anche quello che ti avevo posto prima, sono vari esempi e ci sono alcune spiegazioni per realizzarle.

              http://www.filedropper.com/turnisolver

              Ciao By Sal

              Ciao By Sal (8-)
              se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

            • Avatarliquid
              Partecipante
                Post totali: 14

                ciao. intanto grazie, cerco subito di capirci qualcosa! ti aggiorno

              • Avatarliquid
                Partecipante
                  Post totali: 14

                  francamente (e lo dico senza vergogna), non ci ho capito nulla. a parte il funzionamento intrinseco del modello, non capisco proprio come adattarlo alle mie esigenze, non so proprio da dove partire….

              Visualizzazione 5 filoni di risposte
              • Devi essere connesso per rispondere a questo topic.