step by step



  • step by step
    di MAV57 data: 10/07/2015 16:03:49

    Buongiorno a tutte/i!

    Non avendo trovato compagni di viaggio interessati, nel tentativo di riformulare la turnazione dei posti auto con il mio quesito " rotazione dei posti auto condominiali", ho deciso di buttare tutto a mare e ricominciare ex novo.
    Il mio progetto è quello di realizzare ora step by step il nuovo file per stampare i fogli di turnazione dei posti auto come definito nel mio quesito precedente " rotazione dei posti auto condominiali".



    Il primo step è quello di creare la base per la turnazione di auto dei condomini richiedenti (da 1 a 72 - considerando 1 auto a testa) su un max di 43 posti disponibili:
    attualmente la situazione reale è 62 richiedenti (ma possono variare in qualunque mose sia in numero che in nominativo) su max 43 posti auto.
    Ribadisco che ogni soluzione che possa stravolgere anche totalmente il progetto attuale è bene accetta!



    Sorge un primo problema che vorrei sottoporvi:
    il file allegato "prova.xlsm" contiene per ora 2 fogli denominati PARAM e RICHIEDENTI.

    Su quest'ultimo foglio "RICHIEDENTI" utilizzando del codice che ho trovato (e citato) nel web, ho realizzato per ora la base della turnazione con le formule che potrete leggere dalla cella f3 alla f64 (per questo caso - ma le righe possono essere variate in numero come già accennato - ma lo vedremo in un 2° momento).

    Se avessi la necessità di un nuovo elenco da modificare rispetto al precedente, con il tasto verde (per ora unico tasto attivo) copio (ad ogni pressione) l'area definita nella macro incollandola nelle prime colonne libere più a sinistra (in questa nuova colonna - definita "Last" - apporterò le modifiche necessarie).



    Premetto che il quesito è volto a garantire una specie di "incolumità" del codice esistente (in una precedente versione una serie di copia ed incolla infelici hanno meso fuori uso il sistema) nel caso l'utilizzatore non fossi io; quindi, ovviamente nel codice prima delle operazioni di copia, dovrò inserire la disabilitazione della protezione del foglio con password.

    Quindi il quesito è:
    una volta apportata la modifica - in numero e/o in nominativo - nella nuova area incollata, come posso bloccare tutte le celle del foglio lasciando libere quelle relative alla terza colonna dei condomini selezionati (e quindi autorizzati a parcheggiare)?

    (autorizzati a parcheggiare sono quelli formattati in fondo verde carattere azzurro gestiti mediante formattazione condizionale basata sul numero d'ordine - tra 1 e 43 della prima colonna verde - di quel condomino in quel mese specifico).

    Ad esempio nelle colonne F e J le celle "libere" devono essere solo $I$3:$I$26;$I$46:$I$64. Ovviamente nei mesi successivi saranno diverse...



    Grazie!
    Buona giornata e week end, insomma BUON TUTTO a tutte/i!

    ***
    Marcello (MAV57)
    **************



  • di Raffaele_53 data: 11/07/2015 11:56:50

    Ho letto i due post e dato un'occhiata agli allegati.
    Ci sono cose belle (formattazione condizionale), alcune formule che non capisco. Preferisco non metterci mano (mà non credo siano molto flessibili).

    Per prova ho fatto una bozza grezza (VBA). Allegato



  • di MAV57 data: 12/07/2015 12:07:20

    Grazie Raffaele_53!
    Ottima soluzione! Questo intendevo: vedere/apprendere un metodo diverso per la risoluzione del problema!
    Ho visto/testato l'allegato: ottimo per le mie esigenze!


    Ho letto le tue annotazioni (grazie!):
    [Celle B1/b2/b3/B6 parametri digitabili per il mese successivo ]
    [Per ogni X nelle colonne F/G abilitano/disabilitano l'utente]
    -->Perfetto così come è!


    [Flessibilità = Ex Causa lavori-Extra, il mese prossimo ci saranno disponibili solo 35 posti auto. Idem per moto
    Basta modificare la cella B2 e verrà generata una lista di soli 35 nomi.
    La Data sarà automatica (saltare agosto si può fare)]
    -->Va benissimo. Avrei solo una "secondaria" esigenza, per una agevolazione (nel caso che non fossi io ad utilizzarlo - il 90% delle volte me ne occupo io ma ... - ), quella di realizzare una sorta di "elenco mensilità" di convalida del mese selezionabile nella tua cella"Parametri!A1" così da prevenire possibili inserimenti non pertinenti.
    Era mia intenzione riprendere un elenco di convalida (già realizzato ma da migliorare) in cui il primo elemento è il mese della data corrente e a seguire i mesi in ordine così come da "elenco mensilità"; come dicevo, comunque, è solo una esigenza secondaria.


    [Potresti farlo annualmente, però sarebbe meglio stamparlo mese per mese, con le opportune modifiche nei parametri.
    PPs Ancora migliorabile Ex creare un foglio col mese passato, mese attuale, mese futuro. Casomai fammi una bozza.
    PPPs. Puoi scegliere se cancellare tutto, oppure ex causa una svista cancellare 1/2 mesi (4 colonne per mese) e ricrearli.]
    -->Come potrai notare dal file che allego "risultato atteso", la stampa è necessariamente mensile (talvolta per necessità devo intervenire per un arco temporale più ampio ma limitato - in prossimità dei periodi festivi di Agosto e Natale/Capodanno - in questi casi devo stampare 2 o 3 mensilità successive), con l'aggiunta - per evitare fraintendimenti - dei condomini esclusi nel mese corrente ed in quello successivo.
    Infatti la possibilià di avere un elenco del mese attuale, mese futuro è insita nella stampa mensile che devo produrre; al limite, ma forse meno necessario, il mese passato potrebbe restare come archivio, ma per questo non mi pongo problemi in quanto basterà fare periodicamente un file archivio.


    [Condomini Serve al ciclo For sapere quanti utenti in totale.
    Ps il VBA scrive nella terza riga l'utente da dove reiniziare il mese successivo.]
    -->Perfetto così come è!


    Non sono pratico di VBA, ne capisco frequentemente la logica ma non lo conosco. Sono molto curioso e spero di farne tesoro.
    La formattazione condizionale, oltre che esteticamente, mi interessa per orientare visivamente un eventuale diverso utilizzatore (nel caso che non fossi io ad utilizzarlo - il 90% delle volte me ne occupo io ma ... - ).
    Le mie formule erano/sono tutto quello che sono riuscito a realizzare per raggiungere il risultato (risultato finale che ho purtroppo omesso di allegare precedentemente al quesito); come anticipato allego il file "risultato atteso" per essere più preciso. Nota che la terza colonna di ogni elenco indica il numero del posto assegnato (che purtroppo varia spesso, quindi devo inserirlo all'occorrenza) non sempre uguale per la concomitanza dei veicoli presenti: come dicevo i posti auto e moto(per ora questi ultimi in numero più che sufficiente per i richiedenti) assegnati sono diversi per posizione, dimensione, agibilità.


    Grazie!
    Buona domenica, BUON TUTTO!
    ***
    Marcello (MAV57)
    **************



  • di Raffaele_53 data: 13/07/2015 10:38:06

    Modificato alcune cose.
    Vero che puoi elaborare tutta l'annata, Vero anche che è meglio farlo mese per mese in modo tale che sia aggiornato mensilmente (mi riferisco alle "X"). Persone che per due/tre mesi non desiderano avere il posto-auto oppure nuovi "autorizzati "



  • di MAV57 (utente non iscritto) data: 13/07/2015 19:08:31

    Grazie Raffaele_53!
    Bene! Variazioni/aggiunte ok!

    [Una precisazione
    L'esempio creato fà già tutto da solo, se desideri creare l'anno basta che premi il tasto 12
    volte. Le celle B2/B3/B6 sono destinate per altri utenti con altri parametri. Le celle A2:B6 le
    puoi anche nascondere/proteggere (servono solo al VBA).]
    -->Ho aggiunto nelle celle B4 e B5 la funzione "conta.se" per contare rispettivamente i selezionati auto e moto così posso nascondere le celle A2:B6 (ho notato che, pur cambiando i valori B4 e B5, stampa comunque "giustamente" i condomini selezionati mediante le x ma succede che va probabilmente in loop se B4 o B5 = 0); ho pensato di inserire un controllo per cui i selezionati devono essere >0.

    [Chi deve seguire/stampare il lavoro deve solo mettere/togliere eventuali "X"
    Ho tolto la DATA, solo quando l'archivio è vuoto viene richiesta + da quale utente_auto iniziare+ da quale
    utente_moto iniziare.]
    -->Molto bene così, è più controllato!

    [Solo quando per una vostra svista/errore/correggere una "X" di troppo (oppure per sbaglio premere
    due/tre volte il bottone), dovete andare in archivio ed eliminare le ultime colonne create (4
    colonne per un mese solo).Con Excel2007 ci sono 16.384 colonne = 3276 mesi = 273 anni.]
    -->Troppa grazia!

    [Ho modificato il codice, adesso scrive anche in PRN_AUTORIZZATI
    Per i numeri dei posti_auto "non conosco i criteri d'assegnazione", comunque in Archivio il numero
    stampato a destra del nome indicava già il posto-auto.]
    -->Grazie, i posti_auto da assegnare non posso conoscerli se non al momento della stampa poiché non sono prestabiliti (sono diversi tra loro quindi si deve valutare la concomitanza del tipo di vetture presenti nel turno); mi serve comunque avere un progressivo.

    [Per PRN_ESCLUSI ho messo un'altro bottone (naturale che se in data 20/30 gennaio quando stampo) in
    archivio ci deve essere già lo storico sia del mese di febbraio che di marzo.
    In Luglio quando stai per elaborare appare la scritta se desideri saltare Agosto
    se rispondi No elabora settembre.]
    -->Perfetto! Ho solo corretto la riga di partenza (da 7 a 5) poiché, per una mia svista, avevo inviato un prospetto vecchio.

    Devo solo ora impostare le stampe, in funzione di questa versione; ci sto già lavorando!

    Grazie!
    Buona serata, BUON TUTTO!
    ***
    Marcello (MAV57)
    **************