Ciao a tutti e complimenti per questo forum.
Per lavoro spesso mi trovo nella condizione di dover usare file condivisi tra una decina di persone. Quindi mi trovo anche nella condizione di dover fronteggiare tutte quelle piccole seccature correlate all'uso di file condivisi: ad es c'e' chi si dimentica di salvare, c'e' chi salva con i filtri attivi, c'e chi scrive su una cella in realtà gia' occupata da un altro utente e quindi si verifica la sovrascrizione di dati ecc. ecc.
Il file si trova su una cartella condivisa in una lan aziendale, contiene una lista di fornitori (a volte anche 1000) da contattare per richiedere l'invio di materie prime, quindi ciascun utente del file chiama un fornitore e nelle colonne di fianco va ad inserire l'esito del contatto, i pezzi ordinati, eventuali note ecc...
Quindi ho pensato e messo a punto un sistema che mediante userform presenta a ciascun utente i dati di un solo fornitore, le relative textbox o combo box in cui inserire gli esiti del contatto, ed un commandbutton per poter inserire gli esiti.
Poiche' questo codice gira su un file condiviso e' importante evitare che lo stesso fornitore compaia sulla userform di piu' utenti. Quindi per evitare cio' applico il seguente ciclo ad ogni apertura del file:
1 - activeworkbook.save (per salvare il file e quindi per aggiornare i dati inseriti fino a quel momento dagli altri utenti);
2 - cerco la prima cella libera nella colonna della data del contatto,
3 - la seleziono e ci inserisco NOW()
4 - richiamo nuovamente activeworkbook.save per fare in modo che questa cella venga "vista" come occupata dagli altri utenti all'apertura del file.
5 - carico sull'userform i dati del fornitore corrispondente alla cella libera (ed ora"prenotata")
Invece ad ogni pressione del commandbutton preposto all'inserimetno del'esito:
6 - scrivo sul file i dati esitati nelle varie combo box e text box della userform (in maniera coerente al fornitore selezionato)
7- richiamo i punti dall' 1 al 5.
In linea di massima questo algoritmo funziona bene, ma testandolo mi sono accorto che ogni tanto lo stesso fornitore compare in due userform e quindi viene contattato da due utenti differenti.
Non riesco a capire come sia possibile questo fenomeno visto che il file essendo condiviso viene aggiornato ogni volta che richiamo l'activeworkbook.save.
Esiste qualche atro algoritmo che ottimizzi il passaggio dall' 1 al 5 che non ho considerato?
Oppure esiste qualche altra funzione a me sconosciuta che renda visibili in tempo reale e da ogni postazione gli aggiornamenti/modifiche apportate sul il file?
Ho fatto una lunga ricerca in questo ed altri forum ma non ho rilevato nulla che potesse aiutarmi a risolvere questo problema.
Scusate la lunghezza del post e ringrazio in anticipo per qualsiasi suggerimento in merito.
Buona giornata a tutti.