Quando si gestisce una squadra di lavoro, la piaÂnificazione delle presenÂze durante i periodi estivi è di cruciale importanza, al fine di garantire il proseguimento delle attivitĂ . Bisogna sapere con larÂgo anticipo se una determinata risorsa sarĂ disponibile in un certo periodo o, nel caso contraÂrio, adoperarsi per realizzare una corretta turnazione del personaÂle. Che si tratti di un progetto o dello svolgimento di specifiche mansioni, è compito del responÂsabile pianificare le assenze proÂgrammate, rispettando le esigenÂze di ogni risorsa. E per far fronte a tutto ciò è possibile ricorrere ancora una volta ad Excel. L’utiÂlizzo di un foglio di calcolo consente l’intersezione e la gestione delle diverse assenze, individuando eventuali periodi critici così da affrontare al meÂglio l’intervallo estivo.
Il primo passo verso la comÂpilazione del piano ferie conÂsiste nel raccogliere le diverse richieste dei dipendenti, in tempo utile per proporre evenÂtuali variazioni. Questa comuÂnicazione potrebbe avvenire, ad esempio, tramite mail con l’invio di un file Excel unificato e contenente alcuni campi da compilare (con le date di assenÂza proposte dal dipendente).
Nel progetto che andremo a sviÂluppare ipotizziamo un foglio di calcolo che verrĂ compilato dal dipendente al momento opporÂtuno, contenente tutte le inforÂmazioni necessarie alla verifica dei giorni di assenza. Per semÂplicitĂ di gestione e soprattutto per evitare la programmazione di tutto il piano ferie annuali in un unico momento, si sudÂdividerĂ in trimestri la comuÂnicazione delle assenze. In tal modo, mettiamo il caso ci si apÂpresti a definire le ferie estive e quindi il terzo trimestre (luglio-settembre), nei primi giorni del mese di giugno, con un mese di anticipo sul primo giorno utile, si possono pianificare le ferie della forza lavoro.
Al fine di evitare l’utilizzo di un nuovo foglio di calcolo per ogni trimestre dell’anno, sarĂ prediÂsposta la generazione automatiÂca del calendario trimestrale. La generazione automatica di un calendario può risultare un’opeÂrazione non semplicissima, soÂprattutto se si vogliono consideÂrare i giorni festivi. Per risolvere il problema ci serviremo di una macro, che grazie a qualche riga di codice Visual Basic consentirĂ la puntuale compilazione del caÂlendario di un qualsiasi anno. Per semplificare le cose utilizzeremo il piĂą possibile le formule messe a disposizione dal foglio di calÂcolo, così da predisporre direttaÂmente nelle celle i dati necessari alla generazione del calendario. Per le festivitĂ si utilizzerĂ una tabella contenente le date di tutti i giorni festivi previsti nell’anno. La tabella si potrĂ ampliare o moÂdificare a piacimento, inserendo ad esempio la festa patronale della cittĂ o altre date che si deÂsiderano evidenziare in rosso sul calendario. Per le domeniche ci serviremo, invece, della formula GIORNO.SETTIMANA. Questa restituisce un numero progresÂsivo da 1 a 7, a partire da una determinata data. Il codice VB eseguirĂ quindi, mediante un ciÂclo iterativo, la scansione del caÂlendario controllando l’eventuale presenza di giorni festivi. Tirando le somme il dipendente avrĂ daÂvanti a se un file contenente in una griglia i tre mesi di riferimenÂto e potrĂ indicare, digitando un simbolo o un particolare caratteÂre, i giorni di assenza direttamenÂte sul calendario.
Il foglio di calcolo utilizzato per la comparazione delle assenze dei diversi dipendenti è molto piĂą semplice rispetto al precedente. Una prima schermata verrĂ utiÂlizzata per l’inserimento dei dati estrapolati dal foglio di calcolo inviato dall’utente. Utilizzando un semplice Copia e Incolla, si riporteranno tutti i piani ferie dei dipendenti. Un secondo foÂglio del file, invece, riporterĂ il confronto mese per mese delle assenze di ogni risorsa. Nel proÂgetto non si è considerata per semplicitĂ l’esigenza della comÂpresenza di particolari risorse o l’indispensabilitĂ di altre in specifici periodi. Questo perchĂ©, ordinate in colonna per periodo, le assenze possono essere facilÂmente visualizzate e confrontate in un colpo d’occhio, valutando eventuali periodi scoperti. Fino ad un numero contenuto di risorÂse da gestire risulta quindi suffiÂciente una comparazione visiva, che oltretutto prescinde da deciÂsioni differenti in base al tipo di lavoro svolto ed alle esigenze delÂle risorse stesse.
Un foglio per i dipendenti
Primo passo per la realizzazione del noÂstro progetto, consta nella definizione del foglio dipendente. SarĂ quindi necesÂsario mettere a punto la struttura di un foÂglio di calcolo, che verrĂ compilato dalle risorse facenti parte del gruppo di lavoro gestito. L’utente visualizzerĂ , aprendo il file, una finestra di dialogo all’interno delÂla quale potrĂ inserire i dati necessari alla generazione del calendario. Per semplicitĂ si è scelto di inserire il nome del dipenÂdente, l’anno ed il trimestre di riferimento. Ovviamente questa è una struttura di base. A seconda alle esigenze tali dati potranno essere ampliati, ad esempio, con il numero di matricola o ancora il reparto di apparÂtenenza. Un foglio del file dedicato alle festivitĂ potrĂ essere nascosto all’utente e modificato solo dal coordinatore.

Per la generazione del calendario realizziaÂmo una griglia di dimensioni 3x31, inserenÂdo i mesi in riga e i giorni in colonna. Inseriamo poi i dati principali necessari alla generazione del calendario. Nella cella B15 del primo mese inseriamo la formula =SE(B7=1;”Gennaio”;SE(B7=2;”Aprile”;SE(B7=3;”Luglio”; “Ottobre”))).

Digitiamo nella cella A17 la formula =B7*3 e con -1 generiamo i mesi precedenti. InÂseriamo in basso, per ogni mese, il numero di giorni e con un CERCA.VERT nelle celle AH15, AH16 e AH17 riportiamo il numero di giorni del mese. Realizziamo una griglia con la formula =GIORNO.SETTIMANA(DATA(aaaa;mm;gg)) nelle celle C19:AG21.

In un altro foglio di calcolo inseriamo una griglia contenente l’indicazione di tutte le festivitĂ con giorno e mese e accanto in formaÂto gg/mm/aaaa usando DATA. Riportiamo poi tutta la griglia in formato data con la formula =DATA(aaaa;mm;gg). Usiamo nelle griglie la formula SE per verificare i mesi di 30 giorni e febbraio.

Andiamo in Sviluppo/Visual Basic per avviare l’Editor. Facciamo clic su Inserisci/UserForm. Inseriamo 3 etichette e 3 caselle di testo, moÂdificando nelle proprietĂ degli oggetti la voce Caption. Aggiungiamo un pulsante di comando e con un doppio clic incolliamo il contenuto del file generacalendario.txt (scaricabile dal link in fondo all'articolo).

Facciamo doppio clic su ThisWorkbook nella finestra Progetto dell’Editor di Visual Basic e incolliamo lo spezzone di codice, inserendo come intestazione Private Sub Workbook_Open() e successivamente lo spezzone di codice UserÂForm1.Show. La finestra di dialogo creata verrĂ così caricata all’avvio del file.
Per gli anni bisestili?
Un problema da affrontare nella generazione del calendario è legato al riconoscimento degli anni bisestili. Come è noto gli anni bisestili, che ricorrono ogni 4 anni, sono formati da 366 giorni anzichĂ© 365. Il controllo è presto fatto. Un anno è bisestile se il suo numero è divisibile per 4, con l’ecceÂzione degli anni secolari (quelli divisibili per 100) che sono bisestili solo se diÂvisibili per 400. Con la formula RESTO(anno) e l’uso degli operatori logici E ed O, possiamo verificare questa condizione. La formula usata nel foglio di calcolo è =SE(O(RESTO(B4;400)=0;E(RESTO(B4;4)=0;RESTO(B4;100)<>0));1;2). Questa restituirĂ 1 per gli anni bisestili e 2 per quelli non bisestili.
Assenze sotto controllo
Cliccando sul pulsante Genera CalenÂdario, inserito nella finestra di dialogo creata, vengono ricopiati i dati contenuti nelle caselle di testo all’interno delle corÂrispondenti celle del foglio di calcolo. SucÂcessivamente viene richiamata la funzione Domeniche, il cui codice è contenuto nel file domeniche.txt (scaricabile dal link in fondo all'articolo). Il codice non fa altro che utilizzare due cicli For e verificare se un deÂterminato giorno della griglia corrisponde ad una domenica (griglia numerica da 1 a 7) o ad una festivitĂ (comparando le date della griglia del foglio FestivitĂ con i giorni di festa inseriti). Un tasto Modifica, che riÂchiama la finestra di dialogo per modificare i dati inseriti e un tasto Copia, che provvede a copiare il contenuto della griglia compilaÂta, concludono il file.

Dalla scheda Sviluppo avviamo l’Editor di ViÂsual Basic cliccando su Visual Basic. AndiaÂmo in Inserisci/Modulo e ricopiamo all’interno lo spezzone di codice contenuto nel file domeniche.txt (scaricabile dal link in fondo all'articolo). A questo punto verranno automaticamenÂte colorati di rosso i giorni di festa ed in nero i giorni mancanti, come il 31 ad alcuni mesi.

Dalla scheda Sviluppo clicchiamo su Inserisci dal menu Controlli. Selezioniamo il controllo ActiveX Pulsante di comando e successivamente facciamo doppio clic sul pulsante generato. Modifichiamo poi la proprietĂ Caption e inseÂriamo lo spezzone di codice UserForm1.Show. In questo modo si richiamerĂ la finestra.

Da Inserisci, nel menu Controlli della scheÂda Sviluppo, selezioniamo un altro controllo ActiveX Pulsante di comando. Facciamo doppio clic su di esso e inseriamo lo spezzone Call Copia. Inseriamo quindi un nuovo Modulo e incolliamo nell’editor lo spezzone di codice Range(“C14:AG17”).Select e Selection.Copy.

In un nuovo file incolliamo le selezioni provenienti dal pulsante Copia del foglio dipendente. Incolliamo anche il nome del dipendente al quale corrisponde il piano ferie. Inseriamo l’indicazione del trimestre di riferiÂmento ed utilizziamo la stessa formula del preÂcedente foglio per l’individuazione del mese.

Ricopiamo con i collegamenti i dati per diÂpendente contenuti nel primo foglio, dispoÂnendoli questa volta per mese. Avremo così tutti i dipendenti in riga, mentre in colonna vi saranno i giorni del mese. Selezioniamo la griglia, clicchiaÂmo su Formattazione Condizionale e impostiamo la regola Uguale a inserendo “x” come valore.
La gestione del personale è anche sul Web
Fra i vari software di ERP presenti in Rete vale la pena citare 3Time. Il software, accessibile mediante autenticaÂzione con password ed username, consente la gestione del personale in ingresso ed uscita, registrando con un orologio di sistema tutti gli spostamenti. Raggiungibile all’indirizzo www.3time.it, il software offre una demo di prova con cui è possibile saggiare tutte le funzionalitĂ del servizio. Si tratta infatti di un applicativo a pagamento per il quale, sempre online, è possibile richiedere un listino prezzi. AccedenÂdo alla Demo si può verificare l’esistenza di 4 differenti profili di accesso: dipendente, amministratore di sede, amministratore di societĂ e amministratore di sisteÂma. Dal lato dipendente è possibile registrare diversi tipi di movimento, come ad esempio: l’assenza personale, richiedere permessi e altro. Il tutto direttamente sul Web sfruttando una semplice connessione. Ciò consente un notevole risparmio rispetto all’acquisto di costose licenÂze per software e si evita di installare pesanti applicativi sulle macchine in azienda.
Qui trovate il file del progetto realizzato in quest'articolo e gli altri file indispansabili.
Buon lavoro.


PerchĂ© aspettare l’ultimo momento per definire le vacanze in azienda? Grazie al foglio di calcolo, è facile realizzare il piano ferie e garantire, allo stesso tempo, la continuitĂ delle attivitĂ




Esempi
Salve a tutti. Il link http://www.i-dome.com/download/26.07.2011/esempi.rar non restituisce nulla: sono ancora disponibili gli esempi? Grazie.
Inviato da Pier
Esempi
Ho lo stesso problema di Pier, il link è fasullo, potreste cortesemente ripristinarlo?? Ringrazio anticipatamente
Inviato da Stefano
Link Ripristinato
Il link è stato ripristinato. Ringraziamo i lettori per la segnalazione
Inviato da Redazione PMI-Dome