Ordinamento automatico

Discussioni sull'applicazione per i fogli di calcolo
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Ordinamento automatico

Messaggio da luca733 »

Salve a tutti
Gestisco un sito aziendale per gli ordini giornalieri della mensa dove giornalmente estraggo un file.csv con le preferenze.(che allego come esempio).
Dovrei fare in modo che in automatico all'apertura del file i dati vengano ordinati con queste caratteristiche:
1 Per data successiva ad oggi (es.se oggi è il 19 settembre dovrei visualizzare solo le righe del 20)
2 Le colonne "utente" e "turno" devono essere ordinate in modo crescente senza scombinare le righe con le preferenze espresse
3)è possibile inserire una formula che permetta di contare quante volte si ripete un numero in una colonna?
Spero che qualcuno mi possa aiutare.
grazie
Allegati
csv_prenotazioni.ods
(14.9 KiB) Scaricato 103 volte
Ultima modifica di luca733 il lunedì 18 dicembre 2017, 15:18, modificato 2 volte in totale.
openoffice 4.1.3 windows seven
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ordinamento automatico

Messaggio da charlie »

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: viewforum.php?f=16.
Per una panoramica delle regole consulta in Manuale di sopravvivenza.
Buon proseguimento.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Ordinamento automatico

Messaggio da gioh66 »

Mi sa che ci vuole una macro, ma se ti va bene con le formule devi prima mettere in ordine crescente la colonna dei turni, scegliendo alla richiesta di farlo sulla selezione allargata.
Schermata del 2017-09-19 14-32-26.png
Poi devi, aggiungendo una colonna, convertire la data da formato testo a formato numero, creare una tabella che riassuma i valori della data di interesse, inserendo nelle celle le formule come da esempio.
Ho modificato il file per il conteggio dei valori.
Allegati
csv_prenotazioni-copia.ods
(23.25 KiB) Scaricato 113 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

grazie per l'aiuto
il problema è che la soluzione da te proposta implica una certa conoscenza di formule e conoscenza di excel.
Per evitare errori la soluzione sarebbe quella di creare un file con macro che permetta anche ad persone non esperte di elaborare il file solamente aprendolo o premendo un pulsante sul foglio di lavoro.
Pultroppo però le mie conoscenze in tal senso sono pari a 0
openoffice 4.1.3 windows seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

Luca, hai postato la stessa domanda anche sul forum di excel, ora stai parlando di excel, deciditi, usi excel o OO ?
le macro di Excel non funzionano su OO e viceversa
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

scusami utilizzo openoffice
openoffice 4.1.3 windows seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

luca733 ha scritto:Salve a tutti
Gestisco un sito aziendale per gli ordini giornalieri della mensa dove giornalmente estraggo un file.csv con le preferenze.
dal sito scarichi il file csv, lo apri con calc e vuoi elaborarlo ? quindi il documento calc deve:
1) importare il csv già scaricato dal sito
2) fare l'elaborazione tramite macro attivata da pulsante

è corretto ?
se sì allega il csv
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

esatto
openoffice 4.1.3 windows seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

patel ha scritto:
luca733 ha scritto:.......
è corretto ?
se sì allega il csv
dove è il csv ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Non è permesso caricare file csv
Cmq trovi il file di esempio a inizio pagina nel primo post
openoffice 4.1.3 windows seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

un file csv è un comune file di testo con separatori, per poter importare il csv occorre vedere come è fatto, caricalo in un sito di share e posta il link.
Oppure prova a zipparlo
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ordinamento automatico

Messaggio da charlie »

Ora i .csv dovrebbero essere permessi. Sappiatemi dire.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Ecco il file csv come viene estratto dal sito
Allegati
prenotazioni.csv
(1.18 KiB) Scaricato 147 volte
openoffice 4.1.3 windows seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Ordinamento automatico

Messaggio da patel »

quindi la prima colonna deve essere eliminata ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

patel ha scritto:quindi la prima colonna deve essere eliminata ?
si
openoffice 4.1.3 windows seven
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

Nel codice macro del file in allegato occorre ADEGUARE IL PERCORSO/NOME del file .csv

Codice: Seleziona tutto

FileDaUsare = "file:///home/NomeUtente/Scaricati/prenotazioni.csv"         ' Esempio Percorso "LINUX" Da variare 
'FileDaUsare = "file:///C:/PercorsoCompleto/NomeFile.csv"            ' Esempio Percorso "Windows" Da variare 
La macro collegata al pulsante carica il file .csv in un altro FILE CALC
Test - ImportaFileCSV_EliminaColonnaIniziale_RiordinaAutomaticamente_VisualizzaSoloRecordConDataMaggioreDiOggi.png
Elimina la colonna A iniziale denominata “created”
Ordina poi automaticamente prima per la nuova colonna A “data”
In presenza di più date uguali ordina in modo crescente per colonna C “utente”
In presenza di più utenti uguali per la stessa data ordina in modo crescente per colonna B “turno”
I record con data fino ad OGGI vengono nascosti (Se invece si voglio eliminare Intervenire sulla parte finale del codice)

Questo è il risultato con data OGGI = 21-09-2017
Risultato per data OGGI 21-09-2017.png
I dati così riorganizzati nel file “prenotazioni” dovranno poi essere eventualmente salvati.
Allegati
Test - ImportaFileCSV_EliminaColonnaIniziale_RiordinaAutomaticamente_VisualizzaSoloRecordConDataMaggioreDiOggi.ods
(18.23 KiB) Scaricato 100 volte
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Perfetto!!ti ringrazio proprio quello che volevo!
E' possibile aggiungere anche una funzione che mi permetta di contare quante volte si ripete un numero in una colonna?
Es: dal file ottenuto (vedi file "esempio_csv_21 allegato) nel turno solwelding2 nella colonna primi il numero "1" si ripete 2 volte e lo riporto nella relativa tabella azzurra.Il numero "2" una volta e lo riporto nella tabella...e cosi via per ogni colonna.
Scusa non vorrei abusare troppo della tua disponibilità...se ti và altrimenti è ok anche cosi
grazie ancora
Allegati
esempio_csv_21.ods
(12.75 KiB) Scaricato 75 volte
openoffice 4.1.3 windows seven
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ordinamento automatico

Messaggio da charlie »

@luca733, puoi rispondere anche senza "citare" l'intero post precedente. Si capisce lo stesso e si occupa meno spazio.
(Citazione soppressa).
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

Allego file contenente due fogli:
1 - PRENOTAZIONI
2 - SOLWELDING (Con protezione foglio attiva ma senza password)

Cliccando sul pulsante verde si attiva la macro.
I dati vengono ora caricati direttamente all'interno del file (foglio PRENOTAZIONI).

Ecco il riscontro per data OGGI = 21-09-2017
Prenotazioni .png
La macro è stata modificata anche nella parte finale così da eliminare i record che non corrispondono al riscontro (mentre nel file precedente venivano solo filtrati/nascosti). Ciò si è reso necessario per avere un corretto riscontro dei conteggi nelle tabelle presenti nel foglio SOLWELDING.
Tabelle di riscontro.png
[EDIT:] ovviamente, come per il file precedente, si rende necessario adeguare nel codice macro il percorso relativo alla posizione del file "prenotazioni.csv".
.
Allegati
Test - CaricaFile_prenotazioni_csv_OrdinaDatiCrescentePer_DATA_UTENTE_TURNO_VisualizzaSoloRecordConDataMaggioreDiOggi.ods
(17.37 KiB) Scaricato 78 volte
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

testato ora con file sorgente csv aggiornato ad oggi 22 settembre
csv_21.csv
(1.63 KiB) Scaricato 139 volte
Questi i risultati dopo la macro.
1)foglio prenotazioni
risultato foglio prenotazioni.JPG
tutto ok tranne l'ultima riga dove compare un'ordine del 27 (mentre vorrei comparissero solo gli ordini del giorno successivo)

2)foglio solwelding
risultato foglio solwelding.JPG
non so dove sia l'errore ma il risultato è questo.
E' neccessario che il file sia protetto o si può togliere?
grazie
openoffice 4.1.3 windows seven
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

luca733 ha scritto: vorrei comparissero solo gli ordini del giorno successivo
Fatto.
luca733 ha scritto:non so dove sia l'errore
Risolto.
Era dovuto all'eliminazione della colonna A "created" in foglio "prenotazioni".
Al nuovo lancio della macro saltavano i riferimenti di cella nelle formule impostate nelle tabelle.
La colonna A "created" viene ora NASCOSTA dalla macro e non eliminata.
Prenotazioni DOMANI 23-09-2017.png
Solwelding Domani 23-09-2017.png
lucky63 ha scritto:E' neccessario che il file sia protetto o si può togliere?
Non è necessario che il foglio "solwelding" sia protetto.
E' un'accorgimento in più per evitare modifiche/cancellazioni accidentali delle formule impostate.
Per rimuovere la protezione (che è senza password):
- Da Libreoffice 5.2.7 - Selezionare il foglio "solwelding" > Menu > Strumenti > Proteggi Foglio
- Da OpenOffice 4.1.2 - - Selezionare il foglio "solwelding" > Menu > Strumenti > Proteggi documento > Foglio.
Nel caso si voglia ripristinare la protezione rifare la stessa sequenza scegliendo le opzioni di preferenza.

Ricordarsi di modificare il percorso del file .csv nel codice della macro.
.
Allegati
Test - CaricaFile_prenotazioni_csv_OrdinaDatiCrescentePer_DATA_UTENTE_TURNO_EliminaRecordConDataDiversaDaDomani.ods
(18.55 KiB) Scaricato 96 volte
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Ciao
forse c'è qualche errore nell'impostazione perchè il risultato è che spariscono tutti i dati
questo è quello che imposto nella macro considerando che lavoro in windows
impostazioni.JPG
Il file sorgente è "prenotazioni.csv"
prenotazioni.csv
(1.69 KiB) Scaricato 131 volte
grazie
openoffice 4.1.3 windows seven
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

L'errore è tuo.
Avevo riportato:

Codice: Seleziona tutto

'FileDaAprire = "file:///C:/PercorsoCompleto/NomeFile.csv"   'Esempio Percorso "Windows" 
Modifica così:

Codice: Seleziona tutto

FileDaAprire = "file:///C:/Users/lucmar/Downloads/prenotazioni.csv"
Per indicare il percorso in una macro devi utilizzare la barra rovesciata / anche per windows.
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

ciao
boh non so che dirti...negli esempi precedenti avevo riportato indirizzo sempre con "\" e mi caricava il file correttamente
Comunque tralasciando ho inserito l'indirizzo come hai detto
impostazioni.JPG
quando eseguo la macro tutti i dati vengono filtrati ma il risultato è zero nonostante abbia degli ordini per domani che dovrebbero comparire

questa il file prenotazioni.csv aggiornato ad oggi da elaborare
prenotazioni.csv
(2.16 KiB) Scaricato 131 volte
questo il file OpenOffice con la macro che utilizzo
macro prenotazioni.ods
(15.57 KiB) Scaricato 84 volte
grazie
openoffice 4.1.3 windows seven
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

Ho notato che nel tuo file .ods le date sono in formato valore.
Openoffice ha quindi caricato le date GG-MM-AAAA presenti nel file .csv sostituendone il trattino "-" con la barra "/". Ciò fa si che siano viste come un "Valore".
LibreOffice invece le carica tale e quali. Ciò fa si che siano viste come "Stringa".
1.png
Ho modificato il codice per fare entrambi i controlli sulla data.

Codice: Seleziona tutto

REM VERIFICA DELLA DATA PRESENTE IN COLONNA B 
DOMANI_OOo = date() + 1     ' Data in formato valore (x OOo)
DOMANI_Libre = replace(date() + 1 , "/", "-")   ' Data in formato Stringa (x LibreO)

REM ----- Inizio Loop x ELIMINARE-----------
For Riga = UltimaRiga to 1 step -1
If Sh1.getCellByPosition(1, Riga).value <> DOMANI_OOo  Then
	If Sh1.getCellByPosition(1, Riga).string <> DOMANI_Libre Then
	Rem ----- ELIMINA riga con la data diversa da DOMANI
		Sh1.Rows.removeByIndex(Riga, 1)
	End if
end if
Next Riga
File testato sia con LibreOffice che con OpenOffice.
Le tabelle "Solwelding" si compilano regolarmente in entrambi i casi.
4.png
Verificare se i riscontri sulle tabelle "solwelding" sono corretti.
Allegati
macro prenotazioni01.ods
(16.71 KiB) Scaricato 82 volte
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Ciao
con lo stesso file .csv come sorgente con Openoffice è tutto ok mentre con Libreoffice non funziona
Cmq non importa...utilizzerò il primo!
Grazie ancora per il supporto e disponibilità
openoffice 4.1.3 windows seven
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Salve luchy63
dovrei chiederti un'ultima cortesia.
1)Potresti modificare la macro in modo che nel foglio "prenotazioni" compaiano 2 tabelle (una per turno).
prenotazioni.JPG
2)Come vedi vorrei tabelle con griglia e caratteri più grandi ma anche se salvo le modifiche se lancio la macro le cancella.
3)non riesco a farla funzionare in Libreoffice
grazie
openoffice 4.1.3 windows seven
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

Nel codice della Macro adattare il percorso di caricamento del file .csv

I codici d'importazione del file .csv sono stati completamente rivisti.
La prima colonna inutile non viene importata
La colonna DATA viene adesso riconosciuta in formato “Valore” anche da LibreOffice
I dati del file .csv vengono importati nel foglio (NASCOSTO e di solo appoggio) “ImportaCSV”
I dati importati vengono quindi riordinati automaticamente per l'esigenza segnalata

I dati importati vengono verificati per data (DOMANI) e per turno (Solwelding1 o Solwelding2) e copiati nelle rispettive “Prenotazioni”
Se i fogli “Prenotazioni_Solwelding1” o “Prenotazioni_Solwelding2” hanno già dei dati di precedenti elaborazioni vengono eliminati
I dati copiati in questi fogli assumono inizialmente le caratteristiche di formato della riga numero 2 (Bordo cella blue …)
Volendo personalizzare le caratteristiche a proprio piacere provvedere prima di lanciare la macro per la prima volta.
In seguito si dovrà personalizzare l'ultima riga della tabella (che rimane vuota e mantiene le impostazioni di formato …)
Nella colonna data la cella deve essere formattata in formato data.

Nel foglio “SOLWELDING” avvengono i conteggi rappresentati attraverso l'utilizzo di formule
Allegati
macro prenotazioni02.ods
(27.42 KiB) Scaricato 73 volte
luca733
Messaggi: 38
Iscritto il: martedì 19 settembre 2017, 12:32

Re: Ordinamento automatico

Messaggio da luca733 »

Ciao
ottimo lavoro grazie.
1)Ho personalizzato il foglio "solwelding"
2)Dovendo stampare le prenotazioni sarebbe meglio avere le tabelle in un unico foglio e all'interno dei margini di stampa (non riesco a farlo io perchè penso si debba modificare la macro)
foglio prenotazioni.JPG
3)Se possibile eliminerei il foglio "leggimi" e metterei il pulsante nel foglio "prenotazioni"
4)Con Libreoffice non funziona la macro
Allego file
Grazie
Allegati
prenotazioni.csv
(404 Byte) Scaricato 139 volte
macro prenotazioni02.ods
(36.59 KiB) Scaricato 78 volte
openoffice 4.1.3 windows seven
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2997
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Ordinamento automatico

Messaggio da lucky63 »

luca733 ha scritto:Con Libreoffice non funziona la macro
Io ho sono sempre elaborato i file con LibreOffice 5.2.7 risultando funzionanti anche dopo chiusura e riapertura.
Solo dopo sono stati testati anche con AOo 4.1.2. e nessun problema in entrambi i casi.
Forse potresti avere qualche anomalia nel profilo utente di LibreOffice.
A questo link indicato procedura di reset del profilo utente di OOo (per LibreO è simile).
viewtopic.php?f=34&t=5100


Allego File con ultimi aggiornamenti.
Allegati
macro prenotazioni03.ods
(27.99 KiB) Scaricato 98 volte
Bloccato