Ciao Alexsandra,
non sò che dirti su quei file che mi hai mandato. Non riesco a capire come lavorare su
xxxxxxx... É molto interessante "macromia" di
xxxxxxx (l'userò come libro di testo) e poi è spiegata in ogni passaggio.
Credo, però, che risolverò in un altro modo.
Premetto che in effetti le fasi di iscrizioni, partenza, arrivo sono contemporanee (circa. Ovviamente le iscrizioni partono da una mezz'ora prima rispetto alle partenze e i primi arrivi sono attesi dopo poco meno di mezz'ora dalle prime partenze, in pratica i ragazzi delle scuole medie che hanno il percorso più corto e sono già bravi) e in flusso continuo. Comunque ho bisogno di aggiornare i dati almeno ogni 30 minuti (non posso farlo con chiavette usb perché sarebbe una vera scocciatura girare da un posto all'altro, interrompere il lavoro dei pc e sostituire file. Inoltre quando iniziai a fare il programma vidi che Excel impazziva con troppi dati collegati da un file all'altro, allora optai per la condivisione).
Ho pensato che nel foglio DATABASE posso lasciare le prime 1000 righe dedicate al database vecchio (cioè tutti gli atleti noti prima del giorno della gara). Sotto metto 200 righe per mettere gli atleti di una cassa (in realtà non ho mai avuto più di una 20ina di atleti nuovi ad ogni gara, anche perchè le grandi masse sono sempre gli stessi oppure sono le scuole che ti mandano le preiscrizioni 3 giorni prima) e sotto ancora altre 200 righe disponibili per gli atleti dell'altra cassa. In questo modo imposto le macro per andare a iscrivere i nuovi inseriti nell'intervallo di quella o quell'altra cassa. Così due pc scriveranno sullo stesso foglio ma non negli stessi campi, in fase di salvataggio non ci sarà conflitto tra i dati; per il ripescamento dei dati in fase di arrivo basterà reindirizzare il tutto all'intera colonna del database.
Questo però comporta la soluzione di due problemi.
1) Nel foglio di inserimento atleti in gara (quindi CASSA1 e CASSA2) dovrò mettere non più una sola convalida ad elenco con riferimento al database vecchio, ma anche un'altra convalida ad elenco con riferimento al database dei nuovi di quella cassa (tutte le info che si generano dopo le collego ad un campo dove vi è la formula CONCATENA tra una convalida e l'altra, avendo preventivamente escluso la possibilità di avere dati contemporaneamente su una o sull'altra grazie ad una Private Sub, quindi necessariamente il CONCATENA mi darà solo un nome). Avrei voluto come origine dati per la convalida ad elenco una somma di intervalli ma Excel mi dice espressamente che ciò non è possibile. Ho provato anche a fargli credere che è un unico intervallo definendo due intervalli con un unico nome, ma Excel non ci è cascato!!!).
2) Resta aperta la questione di poter ridefinire un intervallo con un nome (menù Inserisci-->Nome-->Definisci) mediante l'uso della macro che aggiunge il nuovo atleta nel database. Questo è l'altro topic aperto da me ma mi limito a riportare la ragione di ciò. In pratica se una convalida ad elenco ha come riferimento un intervallo dove compaiono righe vuote alla fine, l'elenco mostrerà quelle righe vuote e, appena cliccato sulla freccetta a destra, si posizionerà proprio sulla prima riga vuota (openoffice, gratuito, non lo fà) nonostante l'opzione Salta celle vuote. Allora è molto utile ridefinire l'intervallo (quando il database di atleti nuovi si arricchisce di un nuovo elemento) al quale si riferisce la convalida per avere un elenco più snello e di veloce consultazione.
In conclusione, così facendo non ho più l'esigenza di inserire il comando "Aggiorna file" in una macro poiché non vi è più conflitto tra l'inserimento di un pc e di un altro nel medesimo campo di un file condiviso.
Ciao,
Fabio
*** Fabio ho editato per invio file errato ci credo che non ti serva quella macro lì .....scusami mea culpa