Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Turnazione mensile

Ultimo Aggiornamento: 26/06/2020 17:41
Post: 1
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
08/06/2020 20:43

Buonasera, sto cercando di fare una turnazione mensile (solo serale) per la mia associazione di volontariato. So che è impossibile automatizzare tutto perchè ci sono troppe variabili ma sto cercando di farlo diventare più semplici e di aiuto possibile a noi che ogni mese facciamo i turni.

Siamo 46 volontari che ruotiamo secondo le disponibilità nel mese (di solito giorni della settimana) e in media facciamo il turno 3-4 volte a testa nel mese. Ogni sera del mese ci sono almeno 3 volontari e qualche volta 4.

Allego file per comprendere meglio:

Nel foglio "Calendario" ci sono i giorni di questo mese (righe) e le colonne sono i 3-4 volontari che per ogni giorno farà il turno. Nel foglio "Giorni" ci sono stati scritti tutti i volontari nella colonna A e per ogni giorno della settimana ho messo "y" per quando vogliono fare il turno e "n" per quando non sono disponibili.Li ho appoggiati nelle colonne J:P senza celle vuote e nominati e l'intervallo dei singoli giorni gli è stato definito un nome (lun,mar,mer...). Nel foglio principale "Calendario" così vengono proposti con menu a tendina di convalida dati tutti i volontari che hanno dato disponibilità per quel giorno della settimana. Fin qui tutt'ok.

Alcuni di loro non vogliono fare il turno con altri anche se i giorni di disponibilità coincidono. Quindi, ho creato un foglio "incroci" dove sia nella colonna A che nella prima riga ci sono tutti i volontari e all'incrocio dei nominativi ho messo "n" se non vogliono fare il turno e "y" se vogliono.

Il mio intento era: una volta messo il primo nome in B2 del foglio "Calendario" automaticamente nella cella accanto (C2) mi deve togliere dalla lista e quindi non propormi di inserire il nominativo o i nominativi di coloro che non vogliono fare il turno. Ad ora un ragazzo mi è riuscito a fare un VBA dove appena metto un volontario in quella riga che non vuole fare il turno con un altro mi appare un messaggio che mi dice che "non sono compatibili". Riuscite a fare qualcosa che mi sia più di aiuto? Anche se lavoro lungo lo faccio io, basta che mi diate un esempio (ammesso che sia possibile). Grazie!
[Modificato da aigh panzer 08/06/2020 20:46]
09/06/2020 13:48

>>>Ad ora un ragazzo mi è riuscito a fare un VBA dove appena metto un volontario... appare un messaggio
Io non vedo nessun VBA e nessun messaggio d'avviso? Tosto il problema...
Post: 5.939
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
09/06/2020 15:30

Ciao dovresti dire giornalmente quanti volontari servono, cioè lunedi-4 martedi-8, mercoledi-2, etc....

facendo una scrematura ho questa situazione



quella a sx sono quelli che fanno i turni in totale 29 e non 46 gli altri 17 non sono disponibili per nessun giorno della settimana.

di cui 15 7 giorni su 7 e 14 alcuni giorni alla settimana variabili, e gli unici che non devono incontrarsi sono volontario2 e volontario6, gli altri dalla tabella non ne vedo.

a questo punto avrei bisogno di sapere quante presenze giornaliere devono esserci per ogni giorno della settimana.

ed inoltre se sono divisi a squadre ed ogni squadra di quante persone è composta.

e vediamo se si riesce a trovare la quadra, e riesco a trovare la soluzione.

Ciao By Sal [SM=x423051]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 1
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
09/06/2020 22:12

ABCDEF@Excel, 09/06/2020 13:48:

>>>Ad ora un ragazzo mi è riuscito a fare un VBA dove appena metto un volontario... appare un messaggio
Io non vedo nessun VBA e nessun messaggio d'avviso? Tosto il problema...

Strano...ci dovrebbe essere e dopo aver messo volontario 2, se accanto metto un volontario che ho messo n nella scheda “incroci” dovrebbe venire fuori un messaggio. A me funziona. Devo ancora farla a specchio, nel senso che il volontario che comanda è quello nella colonna A e quando trova N nella riga appare l’avviso di incompatibilità. Il codice comunque è questo:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rv(1 To 4) As Integer
Dim Ris(1 To 6) As String
Dim rr As Range

If Not Intersect(Range("b2:E100"), Target) Is Nothing Then
Application.ScreenUpdating = False
Set rr = Sheets("Incroci").Range("B2:AU47")
Sheets("calendario").Activate

tot = 0
For i = 2 To 5
If Cells(Target.Row, i) <> "" Then

Rv(i - 1) = Application.Match(Cells(Target.Row, i), Sheets("Incroci").Columns(1), 0)
Else
Exit For
End If
Next i
On Error Resume Next
Ris(1) = WorksheetFunction.Index(rr, Rv(1) - 1, Rv(2) - 1)
Ris(2) = WorksheetFunction.Index(rr, Rv(1) - 1, Rv(3) - 1)
Ris(3) = WorksheetFunction.Index(rr, Rv(1) - 1, Rv(4) - 1)
Ris(4) = WorksheetFunction.Index(rr, Rv(2) - 1, Rv(3) - 1)
Ris(5) = WorksheetFunction.Index(rr, Rv(2) - 1, Rv(4) - 1)
Ris(6) = WorksheetFunction.Index(rr, Rv(3) - 1, Rv(4) - 1)

For i = 1 To 6
If Ris(i) = "n" Then
MsgBox ("Volontari incompatibili")
Target.Value = ""
End If

Next i
End If

Application.ScreenUpdating = True
End Sub


=ÄîGh_PåÑ~Êr=
Post: 2
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
09/06/2020 22:33

by sal, 09/06/2020 15:30:

Ciao dovresti dire giornalmente quanti volontari servono, cioè lunedi-4 martedi-8, mercoledi-2, etc....

facendo una scrematura ho questa situazione



quella a sx sono quelli che fanno i turni in totale 29 e non 46 gli altri 17 non sono disponibili per nessun giorno della settimana.

di cui 15 7 giorni su 7 e 14 alcuni giorni alla settimana variabili, e gli unici che non devono incontrarsi sono volontario2 e volontario6, gli altri dalla tabella non ne vedo.

a questo punto avrei bisogno di sapere quante presenze giornaliere devono esserci per ogni giorno della settimana.

ed inoltre se sono divisi a squadre ed ogni squadra di quante persone è composta.

e vediamo se si riesce a trovare la quadra, e riesco a trovare la soluzione.

Ciao By Sal [SM=x423051]

Grazie mille, gentilissimo!

Allora i volontari totali sono 46 ad ora che fanno turni serali, a volte aumentano e altre volte diminuiscono. Il file è incompleto, ho messo nominativi generici per privacy e giorni un po’ a caso. Di incroci ho messo volontario 2 che non si deve incontrare con il 6 ma come esempio, ma c’è ne sono vari. Comunque ogni sera (quindi ogni giorno) ci sono almeno 3 volontari e a volte anche 4, se qualcuno si vuole aggiungere, a me bastano 3, poi il quarto è più facile aggiungerlo! Difficilmente anzi forse mai un volontario fa un turno più volte la settimana, mentre nel mese può capitare che alcuni lo fanno 3 e altri 4 volte (quindi almeno una volta a settimana). Poi c’è chi non vuole fare il turno con altri e quindi devo poter scegliere gli incroci (che è la parte più difficile). Ho escluso un ulteriore filtro che è quello di alcuni che dicono magari il primo e terzo lunedì o magari, a me mettimi quando ti pare ma dalla seconda settimana di giugno, o qualcuno che dice 3-9-21 non posso o roba così, dove qui lascio le cose all’occhio umano! Non mi serve tutto questo automatismo, ma che sia più facile fare i turni, che sia di aiuto semplificando l’inserimento nella tabella del foglio “calendario”.

Rispondo alle tue domande:
- ogni giorno ci sono almeno 3 volontari obbligatoriamente, alle volte si aggiunge uno di livello base come affiancato (che sta facendo esperienza).
- Non sono a squadre, nel senso girano e variano i turnisti..sennò sarebbe tutto più facile. Solo il giovedì sera e una sera al mese (o di sabato o di domenica)c’è una squadra da 3 persone fisse che fa squadra e stanno sempre insieme e fanno il turno solo tra di loro.

Se hai bisogno di altre info, chiedi. Cerco di trovare una cosa che mi faciliti il compito più possibile che si possa arrivare a fare. Su ho messo il vba, che avverte quando metto due volontari incompatibili, ma poi si riesce a semplificare e ottimizzare, nonché migliorare la turnazione, ben venga. Per il discorso di quante volte una persona fa il turno nel mese si può fare anche una colonna con accanto ad ogni nome volontario, nella tabella principale quante volte viene scritto quel nominativo. Non per forza deve esser escluso dal convalida dati. Grazie ancora per tutto


=ÄîGh_PåÑ~Êr=
Post: 5.942
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
10/06/2020 08:38

Ciao a questo punto la turnazione è semplice, prendo come reale la tabella del foglio Giorni dalla colonna L alla R, occorrerebbe anche la tabella reale delle incompatibilità.

con una discriminazione da applicare di quante presenze settimanali deve fare.

esempio prendi Lunedi v2-v6-v13 il prossimo lunedi v14-v19-v21 e cosi di seguito poi si ripete, logico che se v2-v6 sono incompatibili sposto v6 ad un altro Lunedi in modo da non farli incontrare.

si dovrebbe anche segnare chi fa da caposquadra per abbinargli i compagni.

ripetendo il discorso per gli altri giorni della settimana, ma come ho detto bisognerebbe stabilire quante presenze settimanali dovrebbero fare.

ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 3
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
10/06/2020 19:43

by sal, 10/06/2020 08:38:

Ciao a questo punto la turnazione è semplice, prendo come reale la tabella del foglio Giorni dalla colonna L alla R, occorrerebbe anche la tabella reale delle incompatibilità.

con una discriminazione da applicare di quante presenze settimanali deve fare.

esempio prendi Lunedi v2-v6-v13 il prossimo lunedi v14-v19-v21 e cosi di seguito poi si ripete, logico che se v2-v6 sono incompatibili sposto v6 ad un altro Lunedi in modo da non farli incontrare.

si dovrebbe anche segnare chi fa da caposquadra per abbinargli i compagni.

ripetendo il discorso per gli altri giorni della settimana, ma come ho detto bisognerebbe stabilire quante presenze settimanali dovrebbero fare.

ciao By Sal [SM=x423051]


Ciao grazie! La tabella giorni è reale, anche se di giugno e ormai l’abbiamo fatto a “mano”. Mentre la tabella incroci é una cosa più recente, quindi incompleta.

Ogni persona non fa il turno più di una volta la settimana. Poi nel mese invece c’è qualcuno che fa il turno almeno una volta la settimana ma molti altri no, ne fanno solo 2-3 al mese.

Non ci sono capisquadra, va tutto a caso! È stato vietato fare squadra fissa e tutti devono poter girare il più possibile eccetto un trio che per problemi di turni lavorativi personali possono solo in quel giorno infrasettimanale. Mentre fanno max un giorno tra sabato e domenica a scelta random. Ci sono qualche eccezione di incompatibilità tra volontari ma con quelli che hai buon rapporti devono poter girare tutti e non fare squadre.

Io non so se mi sono spiegato, ma a 1-2 settimane dal fine mese, su un gruppo whatsapp dell’associazione con tutti i volontari, chiedo di darmi (o mandarmi in privato) le disponibilità per il mese successivo e le cose variano di volta in volta. Ecco perché io devo poter mettere le disponibilità in “giorni” e qui la tabella è generica, perché se mi dicono si il lunedì 1 giugno e lunedì 22 giugno ma non lunedì 8-15 e 29 giugno e quindi a quel punto il convalida dati il lunedì me li propone sempre e sta a me umano ricordarmi di questi filtri perché quella tabella non pesca i dati da un calendario dinamico ma solo da giorni della settimana secondo ciò che gli ho messo y e n.


=ÄîGh_PåÑ~Êr=
11/06/2020 11:42

>>>Strano...ci dovrebbe essere
Sul mio PC con WinRar l'allegato è rovinato. Ho usato 7-Zip e non vedo nessun codice.
La macro allegata è molto bella (purtroppo io non riesco decifrarla)
Ps. Non quotare l'intero messggio, il post diventa illeggibile

@By sal
Ciao, per cortesia sapresti spiegarmelo?
Avrei trovato una soluzione, se tale VBA esegua il (pensiero che spero).
Attualmente, inserisco le convalide ed il VBA controlla se ci sono dei "n"

Dato che ho cambiato "incroci" con "mensile" con le date relative in riga1. Volevo sapere se andrà nella colonna giusta "uguale" alla riga_Calendario per verificare lo stato dei "n"?
Post: 5.946
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
11/06/2020 19:53

Ciao fa uso della funzione INDICE() che data una matrice all'intersecazione di riga-colonna riporta il valore, puoi leggerti la guida.

io sto cercando di trovare una soluzione, ma sono impantanato su le ripetizioni dei turni, ti faccio vedere la tabella elaborata.



come puoi vedere "volontario6" ripete il turno per più giorni consecutivi.

l'elaborazione della tabella tiene anche conto degli incompatibili

ho fatto in modo che quando si compilano i turni i primi 3 o quelli scelti vengono eliminati dall'elenco quindi il lunedi non potranno essere più presenti.

pero succede che Volontario6 è presente tutta la settimana, quindi passando al Martedi o gli altri giorni si trova ancora al primo posto e viene preso di nuovo, ecco perche la ripetizione, come vedi si fa una settimana intera.

devo trovare il modo di non fargli fare più di 2 o + giorni mensili come pure per tutti gli altri.

il quarto posto è vuoto in modo da poterlo assegnare manualmente per i novizi.

ho messo una colonna Random per imbrogliare un poco le cose.

allego anche il file, per soluzioni alternative alle mie, cliccate sulla freccia prima nel foglio giorni2 e poi nel calendario

certo le macro sono un poco arrabattate adesso per le prove.

ci sto ancora lavorando.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
11/06/2020 20:49

Ciao by sal
Io ho scelto un'altro metodo...
Calcolo quante giornate ha fatto nel mese, ed alla "prossima" convalida_dati faccio vedere il primo Operatore con meno interventi (sarà @aigh panzer che dovrà "scegliere")

Come detto (se premo in Calendario "riga(x) tramite SelectionChange si crea una nuova convalida_dati", il VBA dovrà andare in incroci\Mensile colonna(x) a verificare lo stato dei "n"
>>>Ris(1) = WorksheetFunction.Index(rr, Rv(1) - 1, Rv(2) - 1)
Purtroppo non riesco capire se lo farà in colonna (x)
Post: 4
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
11/06/2020 22:11

Grazie di cuore ad entrambi, proponete e poi si valuta, vediamo se si possono anche unire entrambe le idee e perfezionare quanto più possibile e che sia di aiuto per l’associazione di volontariato ma sopratutto per me e la mia collega che ci occupiamo da anni di farle a mano, ma con l’aggiunta di variabili e nuovi volontari (per fortuna) anno dopo anno, la cosa si fa complicata e volevamo un aiuto che ci permettesse di fare turni con più rapidità e semplicità invece dopo lavoro, ogni sera bisogna mettersi lì contattare i volontari, e cercare le combinazioni. Purtroppo l’associazione spende per materiale sanitario ma non investe in queste cose come un software. Idem per Excel, visto che hanno open office e Google fogli...io invece ho la licenza mia personale che uso per fare questi turni, quindi se si riesce a fare qualcosa ve ne sono io in primis infinitamente riconoscente.

Comunque la sera dopo lavoro sto cercando di completare la lista degli incroci, appena ho fatto ve la mando ovviamente oscurando i nominativi e rinominarli con volontario 1 ecc...e casomai vi mando anche quella che turnazione dei mesi precedenti così da farvi vedere come cambiano più frequentemente, e le cose come stanno. È più importante i giorni della settimana e gli incroci...il difficile che dovremo poi fare noi quando stiamo facendo i turni, è attenzione maggiore ai giorni numerici quando magari un volontario dice io sono disponibile tutte le sere eccetto il weekend, e i giorni 3-12-25 giugno e cose di questo tipo...il fatto invece dei giorni ripetitivi nel senso max 3-4 turni nel mese, o il quarto aggiuntivo, con un colpo d’occhio lo vedi più facilmente se un volontario lo hai messo poche volte o tante volte nel mese o addirittura nella settimana. Però se è si facile aggiunta ben venga ma non è prioritario come i giorni e gli incroci. Grazie ancora! 🤗


=ÄîGh_PåÑ~Êr=
Post: 5.952
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
13/06/2020 10:08

Ciao dai un occhiata

ti da i turni secondo dei parametri, il primo parametro e la non compatibilità il secondo parametro sono le presenze mensili.

diciamo che sono turni random, non te li compila tutti ci mancano alcuni che farai manualmente.

con 4 giorni mensili ne manca 1 soltanto che potrai andare a vedere in Giorni2 puoi vedere i volontari ancora disponibili per i giorni in modo da fare la scelta.

inserendolo manualmente ti dice se è incompatibile

devi aggiornare il foglio degli incompatibili, io li ho messi a caso.

comunque lo scopo e di non far fare più di x giorni mensili,

adesso inserisce in automatico a tutti gli stessi giorni ma se sai qualcuno che sia più o meno disponibile vai ad aggiornare la colonna "I" del foglio "Giorni2".

vedi se va bene in questo modo, e fai sapere

la prima cosa devi inserire i giorni mensili in "Calendario" cella "I1" poi passi al foglio "Giorni2) 3 lanci la macro, divide tutti i volontari per giorno settimana

poi torni al foglio calendario e lanci l'altra macro per i turni e vedi cosa ti propone i mancanti li scegli dalla tabella dei giorni.

Attenzione però che coloro che hanno raggiunto i giorni del mese sono stati eliminati dai giorni disponibili, non li troverai nei giorni.

fai sapere, Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
13/06/2020 12:28

Ciao By Sal
Complimenti, vedo che ci sei "quasi" riuscito (volevo solo avvisarTi).
1) Debug...EDIT (sbagliavo io, molto interessante il ragionamento settimanale)
2) Foglio Incroci (ex sulla coppia 2 e 6), sia la cella G3 che cella C7 và inserito "n" (purtroppo, sul mio se seguo questo metodo non li vedo più entrambi).
Ps. OK per il codice-Index l'ho riscritto a mio modo, mà mi sono usciti altri problemi
[Modificato da ABCDEF@Excel 13/06/2020 15:55]
Post: 5
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
15/06/2020 11:07

Grazieee, fantastico. In giornata mi fanno avere i nominativi giusti di chi non vuole fare il turno con alcuni volontari. Comunque pensavo che si potesse mettere un ulteriore "filtro" anzichè i capigruppo che non ci sono, si potrebbe mettere chi è abilitato alla guida ambulanza (ne sono praticamente la maggioranza) ma per evitare che la macro metta 3 volontari un giorno e tra di loro nessun autista (certo la possibilità è bassa e anche per noi correggerlo a mano non sarebbe un problema), però è più utile del "capo gruppo" che viene deciso tra i 3 di quel giorno (team leader, che alla fine è deciso li per li, lo fa quello più esperto, che ce da più tempo in servizio). Sto facendo una lista anche di quelli!


=ÄîGh_PåÑ~Êr=
Post: 5.955
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
17/06/2020 08:29

Ciao quando mi passerai i dati degli autisti e caposquadra vedo di integrare i filtri.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 6
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
19/06/2020 22:08

Ciao Sal, allora ho aggiunto due nuovi volontari all'elenco, ho aggiornato tutti i fogli del file, ho cambiato il calendario ormai in Luglio (ci stanno già dando le disponibilità del prossimo mese) e ho aggiunto un foglio dove ci ho riportato sia gli autisti che coloro che hanno il solo corso Base. Ti spiego:

Non ci sono capisquadra, ma ogni turno deve esserci almeno uno di quelli autisti per turno! Quelli che invece hanno il corso base non possono stare insieme tra di loro la stessa sera, ma devono per forza stare con due o più "avanzati". Per noi non è un problema automatizzare questa cosa, ma siccome avevi chiesto capisquadra per rendere la macro più variabile e creare un ulteriore mescolamento, puoi usare gli autisti da capisquadra, ma non deve essere una squadra fissa ecco.

Inoltre ho provato la macro, ma devi spiegarmi meglio come farla funzionare al meglio. Inoltre se incompleta e provo a mettere degli incroci incompatibili non mi restituisce l'errore come era all'inizio. Potresti verificare come mai? Forse va in conflitto qualcosa.

Per facilitare inoltre l'inserimento convalida dati, nei giorni del mese, per comodità io metterò nella cella un commento promemoria e ci scrivo ad esempio Volontario 3 no, oppure tizio ha dato disponibilità solo per quella data, e quando lo seleziono dal menu a tendina se mi fosse scappata qualche incompatibilità, quel messaggio di errore/notifica mi farebbe comodo. Non mi interessa la perfezione dell'automatismo, ci sono troppe variabili che cambiano anche di settimana a settimana, solo gli incroci sono fissi i giorni cambiano, anche se indicativamente sono quelli di default...ecco perchè su quel lato non deve essere perfetto, ma di aiuto...alla fine noi umani dobbiamo sempre tenere il controllo e la possibilità di apportare modifiche manuali alla macro e se qualcosa restituire un errore all'inserimento. Ti allego il file, vedi cosa riesci a migliorare, ma ormai siamo alla fine anche perchè nei prossimi giorni servirà per creare il mese di luglio ;) grazie ancora per tutto :)
[Modificato da aigh panzer 19/06/2020 22:10]


=ÄîGh_PåÑ~Êr=
22/06/2020 15:12

Il quesito è molto complesso.
Solo per dirTi/chiederTi, se il numero dei volontari fosse uguale a 21 (sempre che i turni siano fattibili) puoi creare una settimana con tre persone, fossero 28 con quattro persone. Ora sapere il numero minimo ogni serata e se hai la persuasione di "richiedere" ad un volontario dei "cambi-serata". Ex se fà il LUN, può fare il VEN?
Per finire se fossero 19, riesci fare 3g con 3p + 2g con 2p (con solo due è fattibile?)
Se fossero oltre 21 puoi fare 7g con 3p + alcune persone che formeranno il quarto.
Se fossero oltre 28, alcune persone riposeranno durante la settimana.
Di norma ci dormo sopra e di notte mi vengono "vaghe" idee (un paio di volte ho tentato mà sono andate male) non garantisco la riuscita, però l'ultima col totale delle persone mi stà rigirando in testa da alcuni giorni. Certo che sarà un codice molto lungo da scrivere...Dammi tempo, anche se non riesco avrai mie notizie
Post: 7
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
23/06/2020 10:16

Ciao e grazie...impossibile realizzarlo perchè da mese a mese cambiano i volontari totali a disposizione, poi c'è un mese che uno può di più e un mese meno. Io non cercavo questo automatismo che ti compilasse il mese, cioè è solo una cosa in più. Io volevo che per il mese, ad ogni riga del giorno mi proponesse tramite un menu a tendina i volontari da poter inserire. Io li ho fatti con i giorni della settimana, ma se c'era un calendario su un altro foglio e per ogni giorno del mese scrivere quelli che ci sono o quelli che non ci sono, sarebbe stato meglio. Poi se nell'inserimento ci sono persone incompatibili mi deve avvertire se non c'è modo di escluderli dal convalida dati (e per questo c'era una macro, che ora non sempre funziona e non so perchè, forse vanno in conflitto). A me bastava questo, la compilazione automatica è un extra!

Per luglio ti dico cosa mi hanno scritto, così per farti rendere l'idea di come variano le cose:

- Io come sempre, non ci sono dal 27 a fine mese.
- Io e tizio solo dal lunedì al venerdì.
- Io ti do le date: 5-13-31
- Io non ci sono dal 1 al 7 poi ci sono sempre.
- Per adesso ti dico 7-8-14-15
- Come sempre 2 giorni + una domenica
- 1-2 Venerdì ma non il 31 Luglio

Come puoi vedere la cosa non è costante, per questo meglio un calendario dove io ogni mese inserisco queste cose su un foglio "Calendario" con tutte le date del mese e il convalida dati nel foglio principale dei turni mi deve dare solo quelli che ho inserito oppure tutti tranne quelli esclusi (sta a noi scegliere). Poi la macro mi deve dire se ci sono incompatibilità...gli incroci invece sono praticamente costanti, salvo nuovi disaccordi ma sono rari per fortuna.

Mi deve solo aiutare nella scelta e l'inserimento, poi le altre cose le valuto io chi guida, chi ha il solo livello base e il bilanciamento, nel senso mettere il giusto livello di esperienza tra loro.

Questa cosa l'abbiamo fatta fino ad ora ma annotandoci sulla carta chi si e chi no per ogni giorno, poi siamo passati a mettere come commento/nota nel singolo giorno quelli disponibili ma a cancellare o inserire le persone non era molto comodo e siamo tornati alla carta. Si segnavano quelli a matita accanto e quando non potevano rispetto la loro turnazione standard si cancellavano con la gomma, poi a turni finiti si inserivano su excel e si stampavano oppure gli si mandava il link in digitale sul gruppo così che potessero consultarlo tutti. Però con excel e il menu a tendina si risparmia tempo, carta e poi posso condividerlo con gli altri due che organizzano i turni insieme a me.

A conclusione, le mie domande sono: c'è verso di togliere gli incompatibili dal menu a tendina quando inserisco un primo volontario? Se non è possibile va bene anche il messaggio ma ultimamente non funziona più bene, quindi dateci un occhiata per piacere...inoltre la domanda principale, è fattibile la cosa del calendario e proporre solo quelli che hanno dato disponibilità quel singolo lunedì ad esempio?

Questi sono i due filtri maggiori, poi quello incompatibile è abbastanza costante, quello che cambia tanto sono i giorni da mese a mese. Infine ci sono altri due filtri minori ma non indispensabili, quello autista e quello base, non saprei se e come integrarli, tipo che ti restituisca un messaggio manca autista oppure che in quel turno ci sono due basi e non vanno bene perchè il rapporto deve sempre essere due avanzati e un base, oppure tre avanzati e un base come quarto. Questo è molto secondario eh...idem il discorso di vedere quante volte uno fa il turno nel mese e quello ci penso io con il "conta se" per tutto l'indice tabella e che se maggiore a 3 o 4 di formattarmelo in rosso la cella.


=ÄîGh_PåÑ~Êr=
Post: 5.960
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
24/06/2020 12:20

Ciao, dalle nuove informazioni ho deciso di cambiare completamente il tutto.

ho accorpato tutti i dati in un unica tabella, quindi solo 2 fogli Calendario-datiGen

ho preparato solo Calendario al momento per la preparazione dei turni poi se va bene farò l'altra parte la gestione della tabella per inserire le variazioni che ti pervengono mano a mano.

a parer mio ho semplificato in questo modo, questo un esempio



per la pulizia totale sul pulsantino Rosso ti azzera i dati ea anche le presenze, fa riferimento la cella "I1" che sarebbero le max presenze mensili.

seleziona il giorno del mese sulla sx e ti compaiono tutti i volontari che sono disponibili per per giorno, con le loro caratteristiche Autisti-Base-Normali e ti compaiono anche i loro incompatibili, cosi vedi subito se nella scelta puoi inserirli in coppia.

a questo punto clicca sul volontario in colonna "H" logicamente sceglierai un patentato o un responsabile e questo viene inserito nel giorno che hai scelto e nello stesso momento si colora di giallo per non sceglierlo di nuovo ed incrementa il contatore delle presenze.

fatte le tre scelte passi al giorno successivo e si ripete il discorso, quando arrivano alle presenze mensili max non vengono più proposti quindi non puoi più sceglierli.

mano a mano che scegli i turni ti rendi conto chi ha più giorni di presenza e che ne ha meno, quindi fai la scelta più appropriata per il turno, avendo i dati visualizzati resta più facile gestire il tutto.

penso che sia il metodo più semplice, dimmi se va bene cosi proseguo con l'altra parte l'inserimento delle variazioni.

logico che tutte le variazioni andrebbero inserite prima della stesura dei turni.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 5.961
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
25/06/2020 17:21

Ciao Penso di aver finito, mancano solo 2-3 cose, ma volevo prima sapere se va tutto bene.

la prima cosa ha un calendario completo che si aggiorna ad ogni anno con i vecchi dati, ma è possibile modificarlo in ogni momento, si trova nel foglio "DatiGen" alla colonna "DF", detto calendario è selezionabile mensilmente,

i dati del mese vengono riportati una volta selezionato il mese in Foglio "Calendario" cella "O1", nel prospetto dei "DatiGen" In "B2".

come ho detto le tabelle generali sono solo 2.

per inserire i nominativi giusti devi solo cambiarli nella colonna "A" del foglio "DatiGen" le restanti si aggiornano da sole.

non fa nessun turno automatico li scegli tu secondo un tuo parere e ti riporta i dati in modo che sai effettivamente come poter compilare la cosa.

il primo passaggio e scegliere il mese del turno, questo lo fai scegliendo il mese in "O1" del foglio "Calendario", ti avvisa quando ha finito di aggiornare il mese.

il secondo passaggio è inserire le variazioni che ti sono pervenute per il mese.

a questo punto devi scegliere il volontario lo fai selezionando la cella "H2" del foglio "Calendario" sotto "Giorni mese", ti compare una Combobox per la scelta del volontario, dopo averlo selezionato dal Menu a tendina devi dare "INVIO" per caricare i dati che vedrai sotto la scelta fatta.

cosa ti fa vedere ti fa vedere tutto il mese i giorni che si rende disponibile, questo previene dall'archivio dell'anno, con "Y" è disponibile con "n" non è disponibile.

a questo punto avendo le variazioni che ti ha dato puoi aggiornare le presenze, e molto facile, ho automatizzato la cosa basta selezionare la cella se è "y" diventa "n" se è "n" diventa "Y" e nello stesso momento diventa gialla in modo da far capire che l'hai modificata, quindi basta una scorsa per cambiare tutte le presenze.

questa la modalità della modifica



visualizza ancora alcuni dati che fanno parte dei dati comuni generali, alla riga 4 "GG" indica quanti giorni di presenza mensile Max è disponibile, poi "Tipo" indica "A" autista, "N" Normale, "B" Base, ho accorpato queste 2 colonne le puoi vedere nel foglio "DatiGen" colonne "AI-AJ" se sono 2 sigle le devi inserire con il trattino "A-B" oppure solo "A-" sempre con il trattino.

le altre celle sempre sulla riga 4 sono le incompatibilità, ce un menu a tendina dal quale scegliere chi sono gli incompatibili con il volontario, alcuni già ci sono serve per aggiungerne altri se ce ne sia bisogno.

una volta che hai aggiornato le presenze ed eventuali incompatibilità clicca sull'ingranaggio in alto che ti aggiorna i dati con le nuove indicazioni che hai dato.

poi passi al successivo volontario, fino a che hai evaso tutte le differenze o notizie che ti hanno dato.

a questo punto devi compilare i turni, clicca sulla data e ti si apre la tabella con tutti i volontari disponibili per quella data

come vedi dall'immagine



ora sta a te compilare i turni in base alla tua esperienza e conoscenza dei soggetti, nel prospetto ci sono tutti i dati, il nominativo i turni già assegnati che tipologia appartiene ed i relativi incompatibili in modo da non accoppiarli insieme.

una volta che selezioni il nominativo viene inserito nella tabella turni a partire dal 1° posto della data scelta, e nello stesso momento viene segnalato con il giallo per indicare che lo hai già selezionato, però ti incrementa anche il numero delle presenze del turno, questo perche se hai messo il max turno a 3 ed ha raggiunto le 3 presenze non viene più proposto per i turni, quindi non lo troverai nei giorni successivi anche se è disponibile, per altri giorni..

ci sono alcuni pulsanti(icone) quello rosso grande in alto a sx "a1" pulisce la tabella turni e rimette a zero di nuovo i giorni max per ripetere la turnazione, le "x" rosse puliscono i prospetti senza aggiornare le presenze, l'ingranaggio te l'ho detto ed ho inserito anche il pulsante per stampare i turni.

cosa manca, manca l'inserimento di un nuovo volontario, aggiornando gli archivi e tutto il resto.

il doppio controllo sia dei giorni max generali che dei giorni max individuali, esempio, qualche volontario nel mese vuole fare 1 presenza fino a che non arriva al max dei giorni generali verrà di nuovo proposto.

ed eventuali cancellazione degli incompatibili, ammettendo che qualcuno si riappacifichi, ma questo si può fare manualmente.

penso di aver detto tutto, più difficile a scrivere che attuarlo manualmente, se ci sono problemi o difficoltà, fai sapere..

Ciao By Sal [SM=x423051] [SM=x423051]

[Modificato da by sal 25/06/2020 17:21]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 8
Registrato il: 10/02/2006
Città: PISTOIA
Età: 33
Utente Junior
Office 365
OFFLINE
26/06/2020 10:43

Wow devastante. Grazie mille! Mi sembra complicato almeno ora che all'inizio. Bello e ordinato a vedersi...bravo!

Le cose più sono semplici, e meno automatismi ci sono, ed è più facile per noi. Purtroppo la situazione è complicata per fare turni, sicuramente la soluzione a calendario siamo entrambi d'accordo che sia migliore perchè le disponibilità sono più precise al singolo numero e giorno del mese e non solo lun, martedì ecc e già questa basterebbe insieme alle incompatibilità che non dovrebbero cambiare

Il difficile è sugli autisti almeno uno per turno e non di più, poi bisogna mettere tutti i volontari più o meno al solito equilibrio. Non si possono mettere più "esperti" nel solito giorno e lasciare un altro giorno con quelli più inesperti e insicuri. Poi i giorni nel mese non ha senso, perchè a secondo le disponibilità c'è chi fa 4-5 turni e chi ne fa 0-1-2, altri 3 e così via...la media è 3-4 ma varia troppo sopratutto per quelli bravi ed esperti che ne sono meno rispetto ad altri e quindi tocca metterne di più. Poi c'è chi dietro in ambulanza non può stare perchè gli viene mal di stomaco e allora deve guidare per forza...insomma la lista sarebbe lunga delle variabili, ecco perchè l'automatismo non può funzionare e la semplicità di scegliere da un menu elenco le persone che possono fare il turno per quel singolo giorno e un avviso che ti mostri la compatibilità è già abbastanza. Io inizialmente pensavo proprio ad una cosa del genere, un calendario per i giorni di tutti i mesi via via dove inserisco le disponibilità e se non c'è verso di escludere filtri dal convalida dati, va bene anche un messaggio di allerta per l'umano che inserisce un incompatibilità che però non si soffermi solo a gli incroci, ma magari che ti dice se c'è un base di troppo, un autista di troppo ecc con un avviso generico, poi sta a noi capire ad occhio che ci sono due autisti etc...un messaggio solo di notifica che poi noi possiamo accettare o ignorare perchè per indisponibilità e sostituzione improvvisa non possiamo fare altrimenti.

Questo va bene, si avvicina molto alla mia idea ma rimane sempre un po macchinoso valutare per disponibilità il singolo volontario perdendo poi nei giorni il menu a tendina dove si vede più a colpo d'occhio. Non c'è modo di avere una cosa più semplice, menu a tendina con convalida dati dinamico che pesca da dati gen, insomma da un calendario i volontari che io ho inserito per quel giorno e una macro che avverte se ci sono incompatibilità (se non si possono mettere altri filtri, come autisti ecc, mi bastano gli incroci)?

Grazie ancora, sicuramente l'ultimo file è una buona base e il migliore fatto fino ad ora perchè si basa sui singoli giorni del calendario, ma ci vorrebbe qualcosa di più facile e semplificato, visibile meglio a colpo d'occhio per un veloce inserimento.


=ÄîGh_PåÑ~Êr=
Post: 5.962
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
26/06/2020 17:33

Ciao, come ho detto sembra complicato ma non lo è.

i dati sono già preimpostati da come hai specificato nel file originale primario della settimana dal lunedi alla domenica.

ho creato il calendario del 2020 in base a quella tabella settimanale, cioè chi non vuole essere disponibile la domenica, giovedi, martedi non lo sarà per tutto l'anno.

per non scrivere tutto il funzionamento ti ho fatto un video del funzionamento, scusa la voce, ma purtroppo e quella che mi è rimasta ed anche i rumori di fondo, non ne faccio video questo è il primo

ti passo il link per vederlo.

e da come puoi vedere le manovre da fare sono solamente per le modifiche che ti vengono chieste.

la compilazione dei turni la fai semplicemente scegliendo i volontari in base alle loro caratteristiche, la tabella dei dati giornalieri ti riporta tutti i dati dei volontari visivamente, quindi sai chi è compatibile o meno oppure che è autista o meno o Base.

inutile fare allarmi o blocchi o filtri o menu a tendina i dati li vedi, puoi anche controllare nella tabella dei turni già compilati sulla sx per più informazioni.

nel video ti ho messo solo le ferie, ma sulla riga 4 puoi inserire se sia un autista uno Base ed inserire anche gli incompatibili che vengono registrati nel foglio DatiGen, mi sono dimenticato di fartene un esempio.

vedrai anche che mi è scappato un volontario in più puoi cancellarlo manualmente nella tabella dei turni ed aggiornare la presenza sempre manualmente nel foglio "DatiGen".

fai sapere ciao By Sal [SM=x423051]

ti allego il link per scaricare il video poi puoi anche eliminarlo.

Ecco il File Turni 6

bye bye

[Modificato da by sal 26/06/2020 17:39]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
26/06/2020 17:41

Un grosso saluto a By sal

In collaborazione con DANILOFIORINI
Che sia giusto/sbagliato questa è la mia proposta (non ho visto quello di By Sal)
Spiegazione:
1) Vai in Incroci, metti a posto i dati in AI3:AO60, una X in AP=Autista, una X in AQ=Base e un No in AR=malato/ferie/assente (alla fine premi tasto in A1)
2) In B3:AF60, puoi modificare 1/10/100 giornate mensili inserendo "y" oppure "n" (intendo che "xy" non è presente il "20", Ok metti "n" al giorno-20
3) In AS3:AW60 puoi inserire 5 "antipatie" ex in AS4=V6 (però devi mettere in AS8=V2)
4) Nuovi inscritti, meglio inserirli a fine mese, prima del nuovo.
5) Ogni volta che finisce un mese premere tasto in A1=Ripristina Formula
6) In Calendario suggerisco di mettere sempre il primo nominativo della lista
7) A fine Anno, selezionare in BO1 il nuovo anno (l'annata verrà azzerata)
Calendario=12 mesi, 5col per mese (Data, 1=Autisti, 2/3 Tutti senza Base, 4=Base)
8) Suggerimento per compilare Ex Luglio (inizia con Mer, compilate prima 1° scelta sino a domenica, ora iniziate nuovamente da Mer ed inserite 2° e 3° scelta sino a domenica e per finire inserite la 4° scelta=Base. Ora rifatte il tutto per la settimana successiva. Quando siete verso la fine, idem per le ultime giornate.
9) Compilare sempre la 1° colonna a sinistra, poi la 2°, poi la 3° e infine la 4°
10) Se i volontari di Base fossero superiori a 7=1 turno settimale sarebbe tutto OK. Se invece sono inferiori di 7 (dovete scegliere qualche volta 2 turni in settimana???). Comunque faccendo doppio-click nella 4 scelta, appare una convalida con tutti i volontari e dovete scegliete Voi (preferirei che non lo usate)
Un saluto, in attesa di problematiche...
[Modificato da ABCDEF@Excel 26/06/2020 18:01]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 19:31. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com