Condividi:        

Calendario con fasi lunari

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Calendario con fasi lunari

Postdi Alessandro999 » 28/04/18 15:14

Salve,

Sto cercando di mettere a punto un calendario con la visualizzazione delle fasi lunari mettendo assieme diversi spunti fra cui delle funzioni avanzate che ho reperito in rete per massimizzarne l'accuratezza, ma sto riscontrando dei problemi che non capisco, per questo ho bisogno di aiuto.

Allego il file e spiego cosa non riesco a risolvere:

http://www.filedropper.com/calendariohelp

Provare quanto segue per visualizzare il problema: (io uso office 2007)

Aprire il file posizionarsi su un foglio diverso da Calendario, essendone al momento solo uno quindi sul foglio2, continuare confermando le classiche notifiche di avviso di protezione>opzioni>attiva il contenuto>ok

A questo punto se si passa al foglio Calendario i simboli delle lune non sono più posizionati correttamente nell' angolo alto destro delle celle dove devrebbero stare, ma sono sfalsati, ad esempio allego un immagine visibile qui di seguito (come si vede le lune sono totalmente fuori posto). (se si inizia a cambiare mese o anno usando i controlli si può notare che tutto poi funziona correttamente)

Poi altra cosa, riscontro una strana anomalia solamente per i mesi di gennaio e febbraio del 1900, i simboli delle fasi lunari risultano del tutto scomparsi, ma da marzo in poi e per tutti gli anni a seguire è tutto OK



Immagine

Ci sono due macro che controllano le immagini delle lune, una si trova nel modulo1 e l'altra in worksheet Calendario

Grazie per eventuale aiuto
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Sponsor
 

Re: Calendario con fasi lunari

Postdi Anthony47 » 28/04/18 18:35

La posizione delle immagini viene "aggiustata" appena il foglio viene "ricalcolato", prima vale la posizione in cui le immagini si trovavano al momento del salvataggio.
Se metti in qualche posizione del foglio la formula =OGGI() allora il foglio si calcolera' all'apertura del file e la posizione dovrebbe risultare corretta.

Quanto al problema riscontrato su Gennaio e Febbraio, questo deriva da una discrepanza che del VBA rispetto a Excel:
-per Excel, il giorno "1" del sistema di calcolo delle date corrisponde al 1° genn 1900 e Feb 1900 viene considerato bisestile (mentre non lo fu). Questo comportamento fu inserito "per compatibilita' col Lotus 123" (che erroneamente considerava Feb 1900 bisestile)
-per il vba il giorno "1" e' 31-dic-1899 e Feb 1900 non e' bisestile; col risultato che per gen e feb del 1900 i calcoli fatti da Excel sono diversi da quelli fatti dal vba

Per convivere con questa discrepanza ho aggiunto /modificato alcune istruzioni nella Sub Lunazioni, come segue:
Codice: Seleziona tutto
Sub Lunazione(nRow As Long, nCol As Long)
   
    Dim dData As Date
    Dim i As Long
    Dim dCorr As Long                                   '+++
    dData = Sheets("CALENDARIO").Cells(nRow, nCol)
    If dData < 60 Then dCorr = 1 Else dCorr = 0         '+++
    dData = dData + dCorr                               '+++
   
    ' La Luna non si calcola nei giorni del mese successivo
     If month(dData) <> month(Sheets("CALENDARIO").Range("PRIMODELMESE") + 2) Then Exit Sub 'MMM
     
    ' Trova per la data la Luna relativa
   
    Dim c As Long
    c = Range("FASILUNARI").Column
    For i = Range("FASILUNARI").Row To Range("FASILUNARI").Row + Range("FASILUNARI").Rows.Count - 1
        If Sheets("CALENDARIO").Cells(i, c) = dData - dCorr Then                            'MMM
            nLuna = Sheets("CALENDARIO").Cells(i, c + 1)
           
            ' trovata una luna (-1 indica "non cambiamento")
'etcetera etcetera
Le righe marcate +++ sono aggiunte; quelle marcate MMM sono modificate

Non pensi di modificare le date 25 Aprile e 2 Giugno, che in passato non erano festivi? E 11 feb e 19 mar, Ascensione e Corpusdomini che in passato erano festivi? Tanto per complicarti la vita, eh he...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calendario con fasi lunari

Postdi Alessandro999 » 29/04/18 15:13

Anthony47 ha scritto:La posizione delle immagini viene "aggiustata" appena il foglio viene "ricalcolato", prima vale la posizione in cui le immagini si trovavano al momento del salvataggio.
Se metti in qualche posizione del foglio la formula =OGGI() allora il foglio si calcolera' all'apertura del file e la posizione dovrebbe risultare corretta.

Quanto al problema riscontrato su Gennaio e Febbraio, questo deriva da una discrepanza che del VBA rispetto a Excel:
-per Excel, il giorno "1" del sistema di calcolo delle date corrisponde al 1° genn 1900 e Feb 1900 viene considerato bisestile (mentre non lo fu). Questo comportamento fu inserito "per compatibilita' col Lotus 123" (che erroneamente considerava Feb 1900 bisestile)
-per il vba il giorno "1" e' 31-dic-1899 e Feb 1900 non e' bisestile; col risultato che per gen e feb del 1900 i calcoli fatti da Excel sono diversi da quelli fatti dal vba

Per convivere con questa discrepanza ho aggiunto /modificato alcune istruzioni nella Sub Lunazioni, come segue:
Codice: Seleziona tutto
Sub Lunazione(nRow As Long, nCol As Long)
   
    Dim dData As Date
    Dim i As Long
    Dim dCorr As Long                                   '+++
    dData = Sheets("CALENDARIO").Cells(nRow, nCol)
    If dData < 60 Then dCorr = 1 Else dCorr = 0         '+++
    dData = dData + dCorr                               '+++
   
    ' La Luna non si calcola nei giorni del mese successivo
     If month(dData) <> month(Sheets("CALENDARIO").Range("PRIMODELMESE") + 2) Then Exit Sub 'MMM
     
    ' Trova per la data la Luna relativa
   
    Dim c As Long
    c = Range("FASILUNARI").Column
    For i = Range("FASILUNARI").Row To Range("FASILUNARI").Row + Range("FASILUNARI").Rows.Count - 1
        If Sheets("CALENDARIO").Cells(i, c) = dData - dCorr Then                            'MMM
            nLuna = Sheets("CALENDARIO").Cells(i, c + 1)
           
            ' trovata una luna (-1 indica "non cambiamento")
'etcetera etcetera
Le righe marcate +++ sono aggiunte; quelle marcate MMM sono modificate

Non pensi di modificare le date 25 Aprile e 2 Giugno, che in passato non erano festivi? E 11 feb e 19 mar, Ascensione e Corpusdomini che in passato erano festivi? Tanto per complicarti la vita, eh he...

Ciao




Ciao Anthony e grazie del tuo eccellente supporto, la spiegazione del problema su gennaio e febbraio mi ha lasciato di stucco, non avrei mai pensato una cosa del genere !! , ho quindi apportato le tue modifiche alla sub lunazioni e ora ovviamente funziona.

Per quanto riguarda il ricalcolo del foglio con la formula Oggi() oppure Adesso() le immagini continuavano a rimanere sfalsate, ho risolto con una piccola sub con evento activate messa nel foglio del calendario in cui ho inserito ActiveCell = Date , (la data lo posizionata in cella B2) e così funziona ma non capisco perchè la formula oggi/adesso sul foglio di calcolo non dà lo stesso risultato.

Poi in base al tuo suggerimento ho fatto la modifica sul 25 aprile e il 2 giugno, ho usato la formattazione condizionale e una colonna di servizio che ho chiamato "casi particolari" fra le colonne nascoste del foglio. ho sistemato anche l' Ascensione e il Corpus Domini, li ho aggiunti fra le festività impacchettandoli con la condizione SE.

Poi infine ho aggiunto una macro nel modulo2 per gestire le date sulle eclissi, quelle che si vedono sotto l'immagine della Bacall

Mi sembra funzioni tutto, ma se ci dai un' occhiata sono più tranquillo che non ci sono errori..... altre cose da aggiungere al momento non mi vengono in mente.

allego file con le ultime modifiche

Nel frattempo, ti auguro di passare un Buon 1° Maggio.

altrettanto agli utenti del forum.

http://www.filedropper.com/calendario1900-2070

ciao
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi raimea » 29/04/18 17:52

ciao
sono interessato al file e l ho provato,
vorrei esporre le mie considerazioni:

attualmente noto che all apertura NON si posiziona sulla data odierna ma al 1971
oppure all anno/ giorno in cui viene chiuso il file.

non sarebbe più corretto farlo posiziona alla data odierna al momento dell apertura ?

inoltre cambiando l anno si ri_posiziona in A1 e si deve continuare a spostarsi verso DX
x riutilizzare le freccie cambia anno

grazie

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Calendario con fasi lunari

Postdi Alessandro999 » 30/04/18 12:15

Ciao raimea, nel mio caso voglio che si apra dove lo ho lasciato, ma ho fatto una modifica per saltare subito alla data attuale tramite dei pulsanti.

Per quanto riguarda la posizione del calendario, avendo un monitor grande mi appare centrato, ma ho preso nota del tuo suggerimento, se provi adesso vedrai che quando cambi impostazioni il calendario sta al centro dello schermo, nota che nella sub eclissi è semplicemente cambiata l'ultima istruzione in Cells(1, 7).Select

http://www.filedropper.com/calendariobeta1
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi Alessandro999 » 30/04/18 12:50

Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi raimea » 30/04/18 13:49

ciao
ok puls vai ad oggi.

attualmente xro all apertura appare questo errore:

Immagine
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Calendario con fasi lunari

Postdi Anthony47 » 30/04/18 18:53

@Raimea: Quell'errore e' tipico di quando il file viene aperto in Modalita' protetta e poi se ne abilita la modifica.
Salva il file in una directory che poi dichiari "attendibile" e non avrai problemi:
-Menu /File /Opzioni /Centro protezione, Impostazione centro protezione; Percorsi attendibili, Aggiungi nuovo percorso.

@Alessandro: mi spiace averti portato a lavorare sulle vecchie festivita' passandoti informazioni male interpretabili:
io intendevo che in passato giorni quali 11 feb, 19 Marzo, l'Ascensione e i Corpusdomini (e altri) erano giorni festivi; poi piano piano sono o diventati giorni feriali o la festivita' e' stata spostata alla domenica. Insomma e' sbagliata l'associazione 11 feb = Ascensione e 19 mar = Corpusdomini

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calendario con fasi lunari

Postdi raimea » 30/04/18 19:23

ciao

@Raimea: Quell'errore e' tipico di quando il file viene aperto in Modalita' protetta e poi se ne abilita la modifica.
Salva il file in una directory che poi dichiari "attendibile" e non avrai problemi:
-Menu /File /Opzioni /Centro protezione, Impostazione centro protezione; Percorsi attendibili, Aggiungi nuovo percorso.


ok capito
grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: Calendario con fasi lunari

Postdi Alessandro999 » 01/05/18 10:23

Anthony47 ha scritto:@Raimea: Quell'errore e' tipico di quando il file viene aperto in Modalita' protetta e poi se ne abilita la modifica.
Salva il file in una directory che poi dichiari "attendibile" e non avrai problemi:
-Menu /File /Opzioni /Centro protezione, Impostazione centro protezione; Percorsi attendibili, Aggiungi nuovo percorso.

@Alessandro: mi spiace averti portato a lavorare sulle vecchie festivita' passandoti informazioni male interpretabili:
io intendevo che in passato giorni quali 11 feb, 19 Marzo, l'Ascensione e i Corpusdomini (e altri) erano giorni festivi; poi piano piano sono o diventati giorni feriali o la festivita' e' stata spostata alla domenica. Insomma e' sbagliata l'associazione 11 feb = Ascensione e 19 mar = Corpusdomini

Ciao


Ciao Anthony,

Non preoccuparti, grazie per avermi avvertito ho sistemato togliendoli, ho lasciato solo l'Epifania che nel 1977 l' aveveano tolta per poi reintrodurla nel 1985, in quella finestra di tempo non viene segnata in rosso. A proposito ho notato che c'è una sezione chiamata "i vostri lavori", posso partecipare con questo file ? Nel caso vorrei prima inserire le informazioni zodiacali... giusto per rendere il foglio più bello.

ciao, e buon 1 maggio.

@ Raimea , se cerchi nel forum in passato Anthony aveva già scritto qualcosa a tal proposito, ciao e buona gioranta.

viewtopic.php?t=105851
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi Anthony47 » 01/05/18 11:32

A proposito ho notato che c'è una sezione chiamata "i vostri lavori", posso partecipare con questo file ?
Certamente che Sì; lo inseriro io nell'elenco, come link a questa discussione.

Quanto al problema segnalato da Raimea, in realta' potrebbe anche dipendere da una errata gestione nelle macro dell'indirizzamento dei fogli (nei Moduli di Classe, dove si mettono le macro di evento tipo Worksheet_Change, meglio non usare il nome del foglio; in quelle che potrebbero andare in esecuzione quando il file non e' attivo bisogna invece usare o il CodeName oppure indirizzare in modo "completo" - File + Foglio -; es ThisWorkbook.Sheets("NomeFoglio").Range(etcetc)]; faro' una revisione quando il lavoro e' pronto.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calendario con fasi lunari

Postdi Alessandro999 » 01/05/18 12:02

Anthony47 ha scritto:
A proposito ho notato che c'è una sezione chiamata "i vostri lavori", posso partecipare con questo file ?
Certamente che Sì; lo inseriro io nell'elenco, come link a questa discussione.

Quanto al problema segnalato da Raimea, in realta' potrebbe anche dipendere da una errata gestione nelle macro dell'indirizzamento dei fogli (nei Moduli di Classe, dove si mettono le macro di evento tipo Worksheet_Change, meglio non usare il nome del foglio; in quelle che potrebbero andare in esecuzione quando il file non e' attivo bisogna invece usare o il CodeName oppure indirizzare in modo "completo" - File + Foglio -; es ThisWorkbook.Sheets("NomeFoglio").Range(etcetc)]; faro' una revisione quando il lavoro e' pronto.

Ciao


Ok,grazie Anthony.... nel frattempo che aspettavo una tua risposta mi sono comunque tirato avanti, ho reperito delle belle immagini abbinandole a delle informazioni reperite su wikipedia e poi gestite con dei select... case (forse facevo prima con un cerca.verticale :roll: ), allego il file, ...se come dici lo revisioni tu sono tranquillo che è tutto apposto.

http://www.filedropper.com/calendario-pcfacilealessandro999

Stavo pensando poi di introdurre un riquadro con gli avvenimenti storici importanti avvenuti dal 900 ad oggi, ma è solo un' idea, tipo un riquadro che in base all' anno vengono riportati i principali fatti storici... vedremo, ora sono pronto per sedermi a tavola.

Buon pranzo.
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi Alessandro999 » 01/05/18 15:50

ultima versione, corretti alcuni dettagli: allego file a seguire ...
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi Alessandro999 » 01/05/18 16:08

Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi Anthony47 » 06/05/18 23:28

Mi sono permesso di modificare il file di Alessandro in due punti marginali:
-modificato la Sub Worksheet_Calculate, per evitare di eseguirla nel caso che il foglio attivo non sia il foglio Calendario
-aggiunta una Sub Worksheet_Change, in modo da poter incrementare /decrementare a volonta' le date tramite la casella di selezione dei mesi: prima erano limitati all'intervallo 1-12, ora incrementando oltre Dicembre si passa a Gennaio dell'anno successivo; idem decrementando: da Gennaio si passa a Dicembre dell'anno prima.

Il cuore dello sviluppo (creazione del calendario e inserimento degli elementi caratteristici) e' invece quello ideato da Alessandro.

Questa versione del file e' scaricabile qui: https://www.dropbox.com/s/jvz5igekpo6kn ... .xlsm?dl=0

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calendario con fasi lunari

Postdi Alessandro999 » 07/05/18 10:44

Anthony47 ha scritto:Mi sono permesso di modificare il file di Alessandro in due punti marginali:
-modificato la Sub Worksheet_Calculate, per evitare di eseguirla nel caso che il foglio attivo non sia il foglio Calendario
-aggiunta una Sub Worksheet_Change, in modo da poter incrementare /decrementare a volonta' le date tramite la casella di selezione dei mesi: prima erano limitati all'intervallo 1-12, ora incrementando oltre Dicembre si passa a Gennaio dell'anno successivo; idem decrementando: da Gennaio si passa a Dicembre dell'anno prima.

Il cuore dello sviluppo (creazione del calendario e inserimento degli elementi caratteristici) e' invece quello ideato da Alessandro.

Questa versione del file e' scaricabile qui: https://www.dropbox.com/s/jvz5igekpo6kn ... .xlsm?dl=0

Ciao


Figurati Anthony :) , hai fatto bene a sistemare le cose che potevano creare problemi, io mi considero un dilettante e cerco di migliorarmi per quello che posso. A proposito dell' upgrade che hai inserito per incrementare e decrementare le date, così è davvero tutto più scorrevole, ci voleva !

Preciso che lo script usato per la funzione che calcola le fasi lunari non è mio, ma l' ho trovato con una ricerca, dato che il calcolo delle fasi lunari si è rivelato più difficoltoso di quello che pensavo, il mio primo tentativo non mi soddisfava essendo stato ispirato a vecchi metodi basati sui calcoli degli antichi, e così lo cestinato perchè ogni tanto capitava uno sfasamento di un giorno con una fase o con l'altra. per il calendario ho preso spunto da un file reperito per caso sul mulo mentre cercavo tutt' altro, il resto.... eclissi, informazioni sui segni zodiacali e altre cose le ho ideate io di sana pianta. Volevo anche creare un database di eventi storici da mostrare in alternativa dei Santi, tipo le date dello scoppio delle guerre, sbarco sulla Luna, crisi economiche,avvenimenti importanti, etc, ma visto la mole degli eventi ci ho rinunciato... magari qualcuno se vuole aggiornerà il foglio, non mi offendo anzi mi farebbe piacere.

Un altra idea che mi viene in mente proprio ora che scrivo potrebbe essere inserire i periodi di semina dei vari vegetali, che in effetti in alcuni calendari si trovano.

Per concludere, Grazie mille Anthony per il tuo supporto e supervisione sempre determinanti.

Un saluto a tutti.
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi Anthony47 » 07/05/18 13:46

Mah... tra le possibili aggiunte le opzioni "Accadde oggi", "Nati oggi", "I Santi del giorno". Ovviamente fatta passando la palla a una finestra InternetExplorer adeguatamente indirizzata.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Calendario con fasi lunari

Postdi Alessandro999 » 07/05/18 14:36

Anthony47 ha scritto:Mah... tra le possibili aggiunte le opzioni "Accadde oggi", "Nati oggi", "I Santi del giorno". Ovviamente fatta passando la palla a una finestra InternetExplorer adeguatamente indirizzata.


...Sarabbe una cosa interessante, linkando a wikipedia per i dettagli, io però non me la sento... se qualcuno si offre ben venga credo sia una faticaccia e non avrei neanche idea di come fare, e poi col tempo i link potrebbero cambiare e incappare nel fastidioso errore 404.

a proposito ho modificato alcune piccole cosette che mi erano sfuggite, così riallego il file

CAMBIAMENTI:

- ho sistemato le date dello scrorpione, c'era un errore con la fine data del segno precedente (si sovrapponevano due date).

- formattazione condizionale dei giorni 28,29,30,31 certe volte non rispettavano il colore verde e veniva fuori il vecchio colore rosso.

- sistemazione dell' immagine della vergine che appariva con un aria a dir poco funeraria.

http://www.filedropper.com/calendario-pcfacileby-alessandro999
Windows 10 + office 2007
Windows 7 + Office 2007
Avatar utente
Alessandro999
Utente Senior
 
Post: 161
Iscritto il: 04/06/09 11:42
Località: Venezia

Re: Calendario con fasi lunari

Postdi ricky53 » 15/03/19 15:02

Ciao Alessandro,
puoi rimettere il link al file del tuo lavoro.
Vorrei scaricarlo.
Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Calendario con fasi lunari

Postdi wallace&gromit » 15/03/19 17:12

Ciao Ricky, lo trovi sotto "I vostri lavori", dove i link sono più duraturi
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Calendario con fasi lunari":


Chi c’è in linea

Visitano il forum: Nessuno e 94 ospiti