Condividi:        

Consiglio su come gestire le pratiche chiuse

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

Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 05/07/24 08:07

Buongiorno a tutti,
continuo a lavorare sul file (protocollo.xlsm) che dovrebbe aiutarmi a tenere sotto controllo la situazione delle pratiche.
Fino ad ora ho pensato solo alla parte inerente alle pratiche aperte, ma non sono sicuro di come potrei gestire quelle chiuse.
Al momento nel file protocollo è presente un foglio "CHIUSE", ma temo che con il passare del tempo tutte queste pratiche chiuse appesantirebbero troppo il progetto, come anche i vari pdf collegati ad esse (packing list, istruzioni, veline pratica).. sono in cerca di consigli/idee/proposte.

Una buona giornata a tutti ;)

e Grazie in anticipo.
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Sponsor
 

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 05/07/24 09:05

Allo stesso tempo però non le posso eliminare, perchè sebbene chiuse vi è la necessità di mantenerle catalogate ugualmente per poterle consultare ed avere un riepilogo delle varie istruzioni inviateci da altri reparti.
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 05/07/24 09:21

Una via di mezzo potrebbe consistere nel tenere a portata di mano le pratiche chiuse degli ultimi N mesi, ma periodicamente il file va ripulito spostando in un file Archivio le pratiche chiuse piu' vecchie di N mesi; magari creando Archivio_2023, Archivio_2024, etc
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 05/07/24 11:00

Anthony47 ha scritto:Una via di mezzo potrebbe consistere nel tenere a portata di mano le pratiche chiuse degli ultimi N mesi, ma periodicamente il file va ripulito spostando in un file Archivio le pratiche chiuse piu' vecchie di N mesi; magari creando Archivio_2023, Archivio_2024, etc

Ciao Anthony, buongiorno,
mmm... ma quando sposto i dati da un foglio o un file all'altro, poi gli faccio eliminare la riga? Gli faccio lasciare la riga vuota? Cioè i dubbi che ho sono:
Se elimino la riga non è che dopo si scombussolano i collegamenti con i file?
Se lascio la riga vuota non vorrei che dopo tutto lo schema si popolasse di righe alterne..
Mi sto facendo troppi viaggi mentali?
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 05/07/24 14:04

Premettiamo che i collegamenti ipertestuali non inglobano il file target nel tuo file excel, ma sono un link che punta al file target; quindi probabilmente a tenere traccia delle pratiche chiuse "costa" poco. C'e' anche un limite ai link che si possono inserire in excel, ma credo sia di 65mila link e non so a quanti giorni /mesi /anni di tue attività corrisponde.
Quel che andrebbe fatto periodicamente (ogni tot mesi) e' di "tagliare" i dati delle pratiche chiuse da piu' di N mesi e spostarli nel file delle pratiche chiuse.
Se nel foglio del tuo file le pratiche sono tenute in ordine di data si tratta di "tagliare" le prime (o le ultime) XX righe, quindi non rimarrebbero righe vuote...
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 05/07/24 14:14

Anthony47 ha scritto:Se nel foglio del tuo file le pratiche sono tenute in ordine di data si tratta di "tagliare" le prime (o le ultime) XX righe, quindi non rimarrebbero righe vuote...

sono in ordine alfabetico. :roll:

Anthony47 ha scritto:Premettiamo che i collegamenti ipertestuali non inglobano il file target nel tuo file excel, ma sono un link che punta al file target; quindi probabilmente a tenere traccia delle pratiche chiuse "costa" poco. C'e' anche un limite ai link che si possono inserire in excel, ma credo sia di 65mila link e non so a quanti giorni /mesi /anni di tue attività corrisponde.
Quel che andrebbe fatto periodicamente (ogni tot mesi) e' di "tagliare" i dati delle pratiche chiuse da piu' di N mesi e spostarli nel file delle pratiche chiuse.

Dovrò fare qualche esperimento.
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 05/07/24 14:23

sono in ordine alfabetico
E tu mettile in ordine di data di chiusura decrescente, poi tagli quelle in coda; se PROPRIO DEVI le rimetti in ordine alfabetico
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 08/07/24 13:59

Ciao Anthony, sto iniziando ad impostare la chiusura delle pratiche ed il primo passaggio (dal foglio REGISTRO al foglio CHIUSE) ho deciso di legarlo alle celle della colonna I in cui potranno comparire le seguenti diciture (APERTA, CHIUSA, NON SDOGANATA).
Ora sono riuscito a fare in modo che se in colonna I c'è la dicitura CHIUSA la rispettiva riga viene copiata e incollata nel foglio CHIUSE ed eliminata dal foglio REGISTRO. Per farlo ho utilizzato la seguente macro inserita nel foglio REGISTRO:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
ur = Sheets("CHIUSE").Cells(Rows.Count, 1).End(xlUp).Row
If Not Intersect(Target, Range("I:I")) Is Nothing Then
    If Target.Value <> "CHIUSA" Then
        Range("A" & Target.Row & ":" & "I" & Target.Row).Copy Destination:=Sheets("CHIUSE").Cells(ur + 1, 1)
        Application.CutCopyMode = False
        Application.EnableEvents = False
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

Pensando che vi potrebbero essere situazioni legate ad un errore o ad un ripristino della pratica ho aggiunto la medesima macro al foglio CHIUSE,
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
ur = Sheets("REGISTRO").Cells(Rows.Count, 1).End(xlUp).Row
If Not Intersect(Target, Range("I:I")) Is Nothing Then
    If Target.Value <> "APERTA" Then
        Range("A" & Target.Row & ":" & "I" & Target.Row).Copy Destination:=Sheets("REGISTRO").Cells(ur + 1, 1)
        Application.CutCopyMode = False
        Application.EnableEvents = False
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

ma ogni volta che provo da a riportare le pratiche da CHIUSE a REGISTRO ricevo errore (Error Run-time 13) che richiama il foglio registro invece che il foglio CHIUSE.

Pensando ad un "richiamo" che si ripete ho provato anche a cambiare Dim ur in Dim ur2,
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur2 As Long
ur2 = Sheets("REGISTRO").Cells(Rows.Count, 1).End(xlUp).Row
If Not Intersect(Target, Range("I:I")) Is Nothing Then
    If Target.Value <> "APERTA" Then
        Range("A" & Target.Row & ":" & "I" & Target.Row).Copy Destination:=Sheets("REGISTRO").Cells(ur2 + 1, 1)
        Application.CutCopyMode = False
        Application.EnableEvents = False
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

ma niente da fare.. :roll:
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 08/07/24 15:23

Prima di rispondere vorrei capire come lo stato CHIUSA viene inserito in colonna I di foglio REGISTRO
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 08/07/24 15:29

Anthony47 ha scritto:Prima di rispondere vorrei capire come lo stato CHIUSA viene inserito in colonna I di foglio REGISTRO

Immagine

Tramite testo/tendina, manualmente da operatore.
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 08/07/24 15:59

Noto ora che sposta la riga anche se metto non sdoganata, ma in teoria non dovrebbe reagire così.
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 08/07/24 18:36

Ok (temevo che era uno stato impostato su foglio SCHEDA)
Quindi vorresti che quando in colonna I di foglio REGISTRO l'utente scrive CHIUSA la pratica gli scompare da sotto gli occhi e viene spostata in foglio CHIUSE...

Direi che per prima cosa allora, incece che if Target.Value <> "CHIUSA" Then sarà necessario usare
Codice: Seleziona tutto
If Target.Value = "CHIUSA" Then

(si perchè la tua notazione sposta tutto eccetto quelle chiuse, e te ne sei già accorto)

Seconda cosa, e' meglio che mentre fai questa operazione gli eventi siano bloccati, per inibire l'esecuzioni di altre macro di evento che potrebbero scattare impropriamente (e succede ma non te ne sei accorto, quando ti trovi l'errore sulla WorksheetChange di RIEPILOGO)
Ultima cosa, la Worksheet_Change può avere come target anche piu' celle (pensa ad esempio quando cancelli un gruppo di celle); questo manderebbe in errore istruzioni quali Target.Value (e te ne sei accorto); quindi e' opportuno che nells Sub ci sia un check che sia stata modificata una sola cella prima di procedere.

Cio' detto, una versione "2" della Worksheet_Change di foglio REGISTRO, che tiene anche conto che (da quel che vedo) alle scritte aggiungi dei simpatici simboli, potrebbe essere:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
If Target.Count > 1 Then Exit Sub
'
If Target.Column = 9 Then               '9=I
    ur = Sheets("CHIUSE").Cells(Rows.Count, 1).End(xlUp).Row
    If Right(Target.Value, 6) = "CHIUSA" Then
        Application.EnableEvents = False
            Range("A" & Target.Row & ":" & "I" & Target.Row).Copy Destination:=Sheets("CHIUSE").Cells(ur + 1, 1)
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub


La WorksheetChange di CHIUSE sara' analoga, a parte che lì userai <> "CHIUSA"
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 09/07/24 10:00

Grande Anthony così funziona alla grande!
Anthony47 ha scritto:Cio' detto, una versione "2" della Worksheet_Change di foglio REGISTRO, che tiene anche conto che (da quel che vedo) alle scritte aggiungi dei simpatici simboli, potrebbe essere:

Mi fa piacere ti piacciano le immaginette :lol:

Unica cosa io optato per inserire in foglio CHIUSE la macro così composta:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
If Target.Count > 1 Then Exit Sub
'
If Target.Column = 9 Then               '9=I
    ur = Sheets("REGISTRO").Cells(Rows.Count, 1).End(xlUp).Row
    If Right(Target.Value, 6) = "APERTA" Then
        Application.EnableEvents = False
            Range("A" & Target.Row & ":" & "I" & Target.Row).Copy Destination:=Sheets("REGISTRO").Cells(ur + 1, 1)
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

Sostituendo CHIUSA con APERTA e CHIUSE con REGISTRO. Sembra funzionare anche così :)
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 09/07/24 15:52

Anthony47 ha scritto:Quel che andrebbe fatto periodicamente (ogni tot mesi) e' di "tagliare" i dati delle pratiche chiuse da piu' di N mesi e spostarli nel file delle pratiche chiuse.

Cercando di seguire i tuoi consigli, ho aggiunto una macro che indica (in colonna J) la data di quando la pratica è stata chiusa in modo da avere un dato di riferimento che mi permetta di chiudere le pratiche se più vecchie di un tot.. spero d'avere intrapreso la strada giusta.
Codice: Seleziona tutto
Dim rng As Range
    Set rng = Me.Range("A2:A10000")
    With Target
        If .Rows.Count = 1 Then
            If Not Intersect(Target, rng) Is Nothing Then
                .Offset(0, 9).Value = Now
                .Offset(0, 9).NumberFormat = "dd/mm/yyyy"
            End If
        End If
    End With
    Set rng = Nothing

ora però ho il problema (in realtà sono 2 i problemi) che questa macro non convive con quella già presente nel Worksheet Change del Foglio CHIUSE,
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
If Target.Count > 1 Then Exit Sub
'
If Target.Column = 9 Then               '9=I
    ur = Sheets("REGISTRO").Cells(Rows.Count, 1).End(xlUp).Row
    If Right(Target.Value, 6) = "APERTA" Then
        Application.EnableEvents = False
            Range("A" & Target.Row & ":" & "I" & Target.Row).Copy Destination:=Sheets("REGISTRO").Cells(ur + 1, 1)
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

o meglio convivono, ma solo quando sposto le righe da foglio REGISTRO a foglio CHIUSE, se inverto il procedimento ricevo un errore di Runtime 424 sulla riga di codice:
Codice: Seleziona tutto
If .Rows.Count = 1 Then


Il secondo problema è che se cambio a mano in cella A del foglio CHIUSE, inserisce la data correttamente in colonna J, ma se invece chiudo la pratica regolarmente utilizzando il menù a tendina (aperta, chiusa, non sdoganata) la riga viene spostata, ma non segna l'ora in J..
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 09/07/24 17:25

Tu in un post mi scrivi che lo stato viene messo in colonna I e in un altro che e' in colonna A; mi vuoi imbrogliare, vero :D :?:
Supponiamo che lo stato venga inserito in colonna I, e su questo abbiamo disegnato la WorksheetChange che trasferisce la riga da REGISTRO a CHIUSE, allora per me conviene usare quella macro per inserire la data. Lo dico perche' questa discussione si intitola "Consiglio per etc etc".
La WorksheetChange modificata potrebbe essere:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
If Target.Count > 1 Then Exit Sub
'
If Target.Column = 9 Then               '9=I
    ur = Sheets("CHIUSE").Cells(Rows.Count, 1).End(xlUp).Row
    Target.Offset(0, 1).Value = Now                             ' ADD  Aggiunge Data di cambio status in J
    Target.Offset(0, 1).NumberFormat = "dd/mm/yyyy"             ' ADD formato
    If Right(Target.Value, 6) = "CHIUSA" Then
        Application.EnableEvents = False
            Range("A" & Target.Row & ":" & "J" & Target.Row).Copy Destination:=Sheets("CHIUSE").Cells(ur + 1, 1)      'MOD
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

Ci sono 2 righe aggiunte e 1 Modificata (la riga che trasferisce verso CHIUSE

La colonna J significa "data di inserimento status", quindi viene inserita sia per lo stato Chiuso che per qualsiasi altro stato.

Modifica analoga dovrebbe essere fatta alla WorksheetChange di foglio CHIUSE, sia per modificare la data all'eventuale cambio di stato che per trasferire verso REGISTRO fino a colonna J
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 10/07/24 13:00

Anthony47 ha scritto:Tu in un post mi scrivi che lo stato viene messo in colonna I e in un altro che e' in colonna A; mi vuoi imbrogliare, vero :D :?:

Scusami, ma non ti seguo adesso.. Lo dici per via dell'errore che ti segnalavo su questa riga?
Codice: Seleziona tutto
If .Rows.Count = 1 Then

O per qualche altro motivo? Ad ogni modo ti allego il file così da non creare ulteriori incomprensioni.

1 minuto dopo
Ok ho capito la tua perplessità.. quando abbiamo parlato per il menù a tendina che sta in colonna I quello era il riferimento per lo spostamento, ma ora io ragionavo (ovviamente a compartimenti stagni) sull'aggiunta della data.

Anthony47 ha scritto:Supponiamo che lo stato venga inserito in colonna I, e su questo abbiamo disegnato la WorksheetChange che trasferisce la riga da REGISTRO a CHIUSE, allora per me conviene usare quella macro per inserire la data. Lo dico perche' questa discussione si intitola "Consiglio per etc etc".
La WorksheetChange modificata potrebbe essere:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ur As Long
If Target.Count > 1 Then Exit Sub
'
If Target.Column = 9 Then               '9=I
    ur = Sheets("CHIUSE").Cells(Rows.Count, 1).End(xlUp).Row
    Target.Offset(0, 1).Value = Now                             ' ADD  Aggiunge Data di cambio status in J
    Target.Offset(0, 1).NumberFormat = "dd/mm/yyyy"             ' ADD formato
    If Right(Target.Value, 6) = "CHIUSA" Then
        Application.EnableEvents = False
            Range("A" & Target.Row & ":" & "J" & Target.Row).Copy Destination:=Sheets("CHIUSE").Cells(ur + 1, 1)      'MOD
            Target.EntireRow.Delete
        Application.EnableEvents = True
    End If
End If
ActiveCell.EntireRow.AutoFit
End Sub

Ci sono 2 righe aggiunte e 1 Modificata (la riga che trasferisce verso CHIUSE

La colonna J significa "data di inserimento status", quindi viene inserita sia per lo stato Chiuso che per qualsiasi altro stato.

Modifica analoga dovrebbe essere fatta alla WorksheetChange di foglio CHIUSE, sia per modificare la data all'eventuale cambio di stato che per trasferire verso REGISTRO fino a colonna J

Appena ho un attimo cerco di dare un'occhiata al codice che mi hai passato per cercare di comprenderlo. Grazie. ;)
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi Anthony47 » 10/07/24 16:51

Ti aspetto qui qualore quanto detto non ti accenda nessuna lucina...
Avatar utente
Anthony47
Moderatore
 
Post: 19326
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 12/07/24 08:53

Buongiorno Anthony,
sono riuscito a fare tutto, ho fatto solo due prove al volo, ma sembra funzionare tutto perfettamente.
Immagine
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 14/08/24 08:59

Torno sull'argomento perchè mi sono accorto che qualche cosa non va.. faccio un veloce riepilogo:

Abbiamo il Workbook protocollo.xlsm composto dai fogli SHEDA, REGISTRO, CHIUSE, SCHEDA TECNICA.

Nel foglio SCHEDA si inseriscono tutti i dati e si allegano i files tramite doppio click/hyperlink nelle celle D5,D13,D17, successivamente cliccando sul bottone aggiungi pratica tutti i dati vengono inviati su un'unica riga nel foglio REGISTRO, a questo punto giungiamo al problema..
infatti nella riga che si va a creare dovrebbero esserci da 1 a 3 celle (colonna A, colonna E, colonna G) contenenti un hyperlink, cosa che non avviene infatti in colonna E, il collegamento si perde.

Ti giro in privato un breve video in cui è visibile il problema durante il procedimento ed allego di seguito i relativi files aggiornati ad oggi
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40

Re: Consiglio su come gestire le pratiche chiuse

Postdi systemcrack » 14/08/24 10:11

Lascia stare Anthony,
sono già riuscito a trovare dov'era il problema.. l'ultima volta che avevo ripristinato un file da copia di backup avevo dimenticato di modificare un pezzo di codice che mi avevi suggerito tu. Anzi perdonami se ho sbagliato argomento.
Avatar utente
systemcrack
Utente Senior
 
Post: 400
Iscritto il: 27/07/17 09:40


Torna a Applicazioni Office Windows


Topic correlati a "Consiglio su come gestire le pratiche chiuse":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti