Piano ferie con Excel

Questo è un tipico esempio di produttività personale, ho dovuto automatizzare il piano ferie con Excel per un'azienda che voleva tenere sott'occhio le risorse a disposizione giornalmente durante i periodi di ferie, ecco la mia soluzione.
Obbiettivo: gestire un piano ferie in grado di evidenziare le criticità di servizio
Particolarità del piano ferie realizzato con Excel.
- Ogni anno il prospetto dovrà essere riutilizzabile, per questo motivo l'elaborazione del calendario di un nuovo anno dovrà tenere conto sia delle festività fisse che delle festività mobili della Pasqua e del Lunedì dell'Angelo.
- Nei prossimi anni l'azienda potrebbe decidere di considerare tutte le domeniche come lavorative, oggi solo alcune di queste sono da considerarsi lavorative.Nel computo del livello di servizio è necessario pesare correttamente i part-time (e le risorse trasversali a più reparti) e la tipologia d'assenza. L'assenza di una risorsa a part-time a 4 ore, infatti, dovrà pesare la metà rispetto a quella a tempo pieno mentre un permesso breve di 2 ore deve pesare diversante di un recupero festività soppresse.
- La percentuale di allocazione di una persona, diversa dal 100%, può essere attribuita e valida durante un intero mese, se non altrimenti specificata vale 100% ed è assimilabile alle 8 ore giornaliere.
- Le festività infrasettimanali possono essere considerate lavorative o meno, in modo selettivo. Anche il Santo Patrono sarà gestibile nello stesso modo con la particolarità che sarà possibile attribuire una specifica data.
Foglio "Parm"

- Crea nuovo anno. Alla pressione del tasto viene richiesta l'immissione dell'anno da trattare e creato il nuovo calendario. Gli eventuali dati inseriti vengono cancellati.
- Controlla parametri. Esegue il controllo formale di tutti i parametri immessi evidenziando gli errori riscontrati. Utilizza questo pulsante ogni qualvolta apporti modifiche sul foglio Parm.

- Anno. E' l'anno da trattare viene acquisito durante la fase di generazione del calendario e non è modificabile
- Sabato è lavorativo. Selezionare dall'elenco a discesa Si oppure No per indicare se normalmente è un giorno lavorativo o meno (festivo).
- Domenica è lavorativa. Cfr. Sabato è lavorativo.
- Giallo (Assenze >= x%). Determina la percentuale di servizio al di sotto della quale possono verificarsi anomalie e discontinuità di servizio.
- Rosso (Assenze >= x%). Determina la percentuale di servizio al di sotto della quale possono verificarsi criticità di servizio.
Esempio: Giallo 31 - Rosso 50. Il giorno verrà evidenziato in Giallo se mancanano almeno il 31% di risorse (espresse in ore), l'evidenza sarà in Rosso se mancheranno almeno il 50% di risorse (espresse in ore).

I tipi assenza rappresentano la lista delle tipologie di assenze trattate ed il loro peso percentuale rapportato ad una giornata standard di otto ore.
- Tipo assenza. Immettere la descrizione
- Acron. E' un'abbreviazione di due lettera che identifica univocamente il tipo assenza (ad esempio "FE" per ferie). L'insieme di acronimi qui definiti saranno utilizzabili nel piano ferie.
- Peso. E' il peso percentuale (0=lavorativo : 100=ferie) rapportato ad una giornata standard di otto ore relativo al tipo di assenza.

Lista delle festività infrasettimanali
Di norma questa lista non va modificata se non per la definizione delle giornate lavorative o per aggiungere deroghe alle gestioni standard di sabati e domeniche. L'indicazione di un giorno lavorativo o festivo in questa tabella ha precedenza su tutti gli altri parametri.
Foglio "Deroghe di allocazione"

Questa tabella è utilizzata per rettificare la quantità di ore lavorate per le persone che NON operano a tempo pieno.
E' possibile indicare, per ogni mese solare, le percentuali di disponibilità di una persona. Ad esempio la "Persona F" a gennaio lavora per 6 ore giornaliere, quindi immettiamo il 75% della giornata lavorativa (equivalente a 6 ore) nella cella di gennaio. Il nominativo della "Persona" deve coincidere esattamente con quello utilizzato nel piano ferie.
Fogli mesi

Sui fogli dei mesi, in corrispondenza del giorno e della persona, digitare l'acronimo che indica il tipo assenza così come definito nella tabella dei tipi assenza.
Completato l'inserimento del piano ferie per il mese premere il tasto di "Verifica", che trovate nella cella A,2 per determinare la percentuale di servizio erogabile in ogni giornata.
Le percentuali riferite ad ogni giorno appariranno nella riga 3 e la cella assumerà un colore giallo o rosso indicando possibili anomalie o criticità così come impostato nei parametri "Giallo (Assenze >= x%)" e Rosso (Assenze >= x%))
Legenda
'WK=Giornata lavorativa standard
'FS=Sabato festivo
'FD=Domenica festiva
'FI=Festività infrasettimanale
'WS=Sabato lavorativo
'WD=Domenica lavorativa
'WF=Festività infrasettimanale lavorativa
Note: la presenza di macro VBA, contenute all'interno di questa cartella di lavoro Excel, ti farà apparire un messaggio di attenzione premi "Esegui macro". Se le tue macro sono disabilitate segui le indicazioni di questa guida sul livello protezione macro Excel.
Se il foglio di Excel ti è stato utile premi Mi piace


Commenti
Ciao Michele, devi andare nel foglio "Parm" a riga 86 (alla voce Patrono) ed inserire nella colonna "H" 07/12, quindi devi rigenerare l'anno con il tasto "Crea Nuovo Anno" presente in cima alla stessa pagina.
Ciao
Grazie
Grazie Alessandra la tua osservazione è stata ottima infatti era presente un errore nel codice che ho provveduto a risolvere (scarica la nuova versione). Ulteriori osservazioni sono gradite, buon lavoro ma soprattutto ***buone ferie*** Emilio
Le volevo segnalare una cosa: nelle pagine dei mesi il programma non aggancia le ferie infrasettimanal i, né quelle a data fissa né quelle a data variabile. questo accade di default ma anche dopo la generazione del nuovo anno e dopo la verifica richiesta sul singolo foglio. Inoltre, anche se l'ho salvato con nome e ho dato le necessarie autorizzazioni, se intervengo manualmente a correggere il datario inserendo appunto FI in corrispondenza ad esempio dell abefana, dopo una sola modifica mi reimposta tutte le protezioni foglio. Posso ovviare in qualche modo ai due inconvenienti? Grazie e saluti
Ciao ho provato rigenerare l'anno 2012 ma l'errore *non* si ripropone
La soluzione più semplice è sfruttare la percentuale già calcolata giornalmente (riga 3).
Se in un giorno, con tutte le risorse presenti, posso aggiustare 10 macchine posso anche dire che se la forza lavoro scende al 60% posso aggiustare 6 macchine. (10:100=6:X X=60).
Nella riga 56 dell'esempio metto il numero di macchine previste nella giornata mentre nella 57 la formula che mi permette di valutare le criticità.
La formula è così strutturata:
=([Forza lavoro % nel giorno]-(100*[Numero di macchine del giorno]/[Numero max di macchine in piena forza lavoro].
Più il coefficiente si avvicina allo zero migliore è la situazione infatti i coefficienti positivi indicano che le risorse non sono sfruttate a pieno mentre un coefficiente negativo indica un sottodimensiona mento dell'organico.
Nell'esempio il numero massimo di auto a pieno regime è ipotizzato 10 (cerchiato nella formula).
Spero di esserti stato utile, il periodo natalizio non mi ha permesso di risponderti prima. Ciao
Esempio: http://www.advprj.com/images/stories/ferie_carico_lavoro.jpg
Quando cerco di impostare l'anno mi esce un'errore:
'Popola array data festivo
Static vaFes(1 To 50, 1 To 2), vaFesOcc As Byte
vaFesOcc = 0
For vCnt = 61 To 90
vCella = "J" & CStr(vCnt)
If Trim(Sheets(vFo glio).Range(vCella).Text) vbNullString Then
vaFesOcc = vaFesOcc + 1
ERRORE
vaFes(vaFesOcc, 1) = DateValue(Mid(S heets(vFoglio).Range(vCella).Text, 5))
vCella = "I" & CStr(vCnt)
vaFes(vaFesOcc, 2) = UCase(Trim(Shee ts(vFo glio).Range(vCella).Formula))
End If
Next vCnt
End If
Se potessi aiutarmi
Grazie
RSS feed dei commenti di questo post.