Condividi:        

Trasferire Dati Da e Per File Txt ed Excel

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

Trasferire Dati Da e Per File Txt ed Excel

Postdi Maury170419 » 28/03/18 16:18

Ciao a tutti mi chiamo Maurizio
E il mio problema e questo : Tempo in dietro qualcuno di voi mi diede gentilmente questo Codice :
Codice: Seleziona tutto
Option Explicit
Dim Riga As Long
Dim Nome As String
Dim A As String, B As String, C As String, D As String, E As String
Dim F As String, G As String, H As String, i As String, j As String
Dim K As String, L As String, M As String, N As String, O As String

Sub Crea_DataBase()
'On Error Resume Next
Dim NN As Long

Riga = 2  'Decidiamo Da Quale Riga Iniziare a _
Creare Il Nostro Lavoro, In Questo Caso Dalla _
Riga 2 Foglio 1.

Nome = "Descriz" & NN  'Impostiamo La Variabile _
"Nome" Come "Descriz" Seguito Dal Numero (N) _
Assegnato Dal Ciclo Per La Riga Sottostante _
(Vero / Falso)

ActiveWorkbook.Names.Add Name:=Nome, _
RefersTo:=Range(Cells(Riga, 1), _
Cells(Riga + 0, 15))  ' **

With Foglio1
.Range("A3").Value = A
.Range("B3").Value = B
.Range("C3").Value = C
.Range("D3").Value = D
.Range("E3").Value = E
.Range("F3").Value = F
.Range("G3").Value = G
.Range("H3").Value = H
.Range("I3").Value = i
.Range("J3").Value = j
.Range("K3").Value = K
.Range("L3").Value = L
.Range("M3").Value = M
.Range("N3").Value = N
.Range("O3").Value = O

.Range("A3").Value = "" & .Range("M2").Value & ""
End With

Call MultiArea2
End Sub

Sub MultiArea2()
'Variabile Per L'inserimento Del (Numero 1 o Nullo) _
Nella, Riga Sottostante Alle Voci Che Compongono i _
Report, Per La Verifica Del (Vero e Del Falso) Che _
Influenzano La Visualità o Meno Delle _
(TexBox e Label) Dinamiche Che Compongono _
L'ossatura Del DataBase Che Vengono Create Nel _
Dell'Userform 6.

Dim II As Long
Dim RangeAll As Range, myMatch, lContr As Control
With Sheets("Foglio1")

Set RangeAll = .Range(.Range("A3"), .Cells(3, Columns.Count).End(xlToLeft))
End With

RangeAll.Offset(1).ClearContents
For Each lContr In Range("A3").Value

II = II + 1
If TypeName(lContr) = "" Then
myMatch = Application.Match(lContr.Object, RangeAll, 0)
If Not IsError(myMatch) Then
       
RangeAll.Cells(2, myMatch).Value = 1

End If
End If
Next lContr
End Sub

Sub ImportTextFile()

Dim myFile As String
Dim Stringa As String
Dim rng
Dim RR, uF As Long

Dim A As String, B As String, C As String, D As String, E As String
Dim F As String, G As String, H As String, i As String, j As String
Dim K As String, L As String, M As String, N As String

ChDir ThisWorkbook.Path
myFile = ThisWorkbook.Path & "\Utility\Database.txt"

On Error Resume Next
'Preparare Il File Di testo Per La Lettura
Open myFile For Input As #1
'Verifica Se è Stato Trovato Il File Di Testo
If Err.Number <> 0 Then
   
MsgBox "Nessun file selezionato.", vbCritical, "Attenzione"
Exit Sub
End If
On Error GoTo 0

Application.ScreenUpdating = False

'Record è Stato Aggiunto Al Foglio Di Lavoro
'RR = Cells(Rows.Count, "A").End(xlUp).Row + 1
'If RR = 2 And Cells(1, 1) = "" Then RR = 1

uF = Cells(Rows.Count, "A").End(xlUp).Row

Set rng = Range("A1: K" & uF)

Do Until (EOF(1))
'Leggere dal File Di Testo
Input #1, Stringa, A, B, C, D, E, F, G, H, i, j, K, L, M, N
Cells(RR, 1) = Stringa

Cells(RR, 2) = A
Cells(RR, 3) = B
Cells(RR, 4) = C
Cells(RR, 5) = D
Cells(RR, 6) = E
Cells(RR, 7) = F
Cells(RR, 8) = G
Cells(RR, 9) = H
Cells(RR, 10) = i
Cells(RR, 11) = j
Cells(RR, 12) = K
Cells(RR, 13) = L
Cells(RR, 14) = M
Cells(RR, 15) = N

RR = RR + 1

Loop
Close #1

Application.ScreenUpdating = True
End Sub

Sub Salva_Su_File_TXT()
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

myFile = ThisWorkbook.Path & "\Utility\Database3.Txt"

Set rng = Selection

Open myFile For Output As #1

For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count
   
cellValue = rng.Cells(i, j).Value

If j = rng.Columns.Count Then
    Write #1, cellValue
Else
    Write #1, cellValue,
End If

    Next j
Next i

Close #1
End Sub


Tutto Ciò era però abbinato a un Userform con Delle (Textbox e label) Dinamiche e funzionava Benissimo.
Ora però vorrei soltanto interagire con il Foglio di Excel e il File TXT ; E qui nascono i guai.
Perché se seleziono Manualmente l'intera riga di dati ; E poi premo il Tasto Export (Shapes) il Dato Viene salvato sul File (TXT che si trova all'interno della cartella di Lavoro.
Però al contrario se non seleziono nulla il File (TXT) risulta Vuoto.
Per Tanto quello che vorrei realizzare io sarebbe questo :

1 ) Scivere dei Dati all'interno del Foglio 1 "Nomi - Cognomi - Indirizzi" ecc....!
Poi premere il tasto (Export) e memorizzare il tutto all'interno del file TXT

2 ) Premere il Tasto (Shapes) Import e importare tutti i dati inseriti del File (TXT) Nuovamente all'interno del Foglio di Excel.

3 ) Inserire nella Cella (M1) un numero (ID ho un Cognome) Premere il Tasto Cerca (Shapes) trovare tale dato all'interno del File (Txt) e riportarlo nella prima Riga vuota che trova nel Foglio 2

Tutto qui !!!!!
Forse chiedo Troppo ?
Grazie sin da ora per tutto l'aiuto che riuscirete a darmi in merito Saluti da A.Maurizio

Inserisco il Links per Scaricare il progetto di prova : https://app.box.com/s/sjhvccj2bl7wfnln9o3htv3dqe0g586t
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05

Sponsor
 

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi patel » 28/03/18 19:14

Maury170419 ha scritto:Perché se seleziono Manualmente l'intera riga di dati ; E poi premo il Tasto Export (Shapes) il Dato Viene salvato sul File (TXT che si trova all'interno della cartella di Lavoro.
Però al contrario se non seleziono nulla il File (TXT) risulta Vuoto.

Nella Sub Salva_Su_File_TXT hai scritto:
Codice: Seleziona tutto
Set rng = Selection

invece di selection devi mettere il range da salvare, quindi
Codice: Seleziona tutto
LR = Cells(Rows.Count, "B").End(xlUp).Row
Set rng = Range("A3:K" & LR)
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Maury170419 » 29/03/18 11:51

Grazie Patel ma anche apportando i tuoi suggerimenti non funziona Comunque
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Maury170419 » 29/03/18 16:36

Scusatemi : Avrei Ancora due domande che vorrei fervi se fosse possibile ; che sono queste :
Ho cercato anche con l'aiuto di Patel di mettere un pochino di ordine al mio File, e diciamo che per certi versi ci sono anche riuscito
in Fatti quando premo il Tasto Copia dati Da )File Excel al File TXT) ora tutto ciò avviene tranquillamente .
Però restano ancora due cose da risolvere che sono :
1 ) Perché quando premo il Tasto preleva Dati dal (File Txt) i dati vengono messi sul foglio di lavoro in questa maniera :
Vedere Foto : [img][img]https://preview.ibb.co/dKX2FS/Cattura.png[/img][/img]

2 = Una volta che fosse messa a posto anche questa procedura , come posso dire in vba che quando premo il tasto (Trova) Dovrebbe Verificare il Dato inserito nella Cella (M2) Prelevare il Dato dal (File TXT) e portarlo nel Foglio 2 Tutto qui Grazie
(p.s) La modifica del mio programma e la seguente :
Codice: Seleziona tutto
Option Explicit
Dim Riga As Long
Dim Nome As String
Dim A As String, B As String, C As String, D As String, E As String
Dim F As String, G As String, H As String, i As String, j As String
Dim K As String

Sub Crea_DataBase()
'On Error Resume Next
Dim NN As Long

Riga = 3  'Decidiamo Da Quale Riga Iniziare a _
Creare Il Nostro Lavoro, In Questo Caso Dalla _
Riga 2 Foglio 1.

Nome = "Descriz" & NN  'Impostiamo La Variabile _
"Nome" Come "Descriz" Seguito Dal Numero (N) _
Assegnato Dal Ciclo Per La Riga Sottostante _
(Vero / Falso)

ActiveWorkbook.Names.Add Name:=Nome, _
RefersTo:=Range(Cells(Riga, 1), _
Cells(Riga + 0, 15))  ' **

With Foglio1
.Range("A3").Value = A
.Range("B3").Value = B
.Range("C3").Value = C
.Range("D3").Value = D
.Range("E3").Value = E
.Range("F3").Value = F
.Range("G3").Value = G
.Range("H3").Value = H
.Range("I3").Value = i
.Range("J3").Value = j
.Range("K3").Value = K

.Range("A1").Value = "" & Foglio1.Range("M2").Value & ""
.Range("A1").Interior.Color = RGB(255, 255, 255)
End With

Call MultiArea2
End Sub

Sub MultiArea2()
'Variabile Per L'inserimento Del (Numero 1 o Nullo) _
Nella, Riga Sottostante Alle Voci Che Compongono i _
Report, Per La Verifica Del (Vero e Del Falso) Che _
Influenzano La Visualità o Meno Delle _
(TexBox e Label) Dinamiche Che Compongono _
L'ossatura Del DataBase Che Vengono Create Nel _
Dell'Userform 6.

Dim II As Long
Dim RangeAll As Range, myMatch, lContr As Range
With Sheets("Foglio1")

Set RangeAll = .Range(.Range("A3"), .Cells(3, Columns.Count).End(xlToLeft))
End With

RangeAll.Offset(1).ClearContents
For Each lContr In Foglio1.Range("A3").Value

II = II + 1
If TypeName(lContr) = Foglio1.Range("A3").Value & "" Then
myMatch = Application.Match(lContr.Object, RangeAll, 0)
If Not IsError(myMatch) Then
       
RangeAll.Cells(2, myMatch).Value = 1

End If
End If
Next lContr

End Sub

Sub ImportTextFile()

Dim myFile As String
Dim Stringa As String

Dim RR As Long

Dim A As String, B As String, C As String, D As String, E As String
Dim F As String, G As String, H As String, i As String, j As String
Dim K As String

ChDir ThisWorkbook.Path
myFile = ThisWorkbook.Path & "\Utility\Database3.txt"

On Error Resume Next
'Preparare Il File Di testo Per La Lettura
Open myFile For Input As #1
'Verifica Se è Stato Trovato Il File Di Testo
If Err.Number <> 0 Then
   
MsgBox "Nessun file selezionato.", vbCritical, "Attenzione"
Exit Sub
End If
On Error GoTo 0

Application.ScreenUpdating = False

'Record è Stato Aggiunto Al Foglio Di Lavoro
RR = Cells(Rows.Count, "A").End(xlUp).Row + 1
If RR = 3 And Cells(1, 1) = "" Then RR = 1

Do Until (EOF(1))
'Leggere dal File Di Testo
Input #1, Stringa, A, B, C, D, E, F, G, H, i, j, K
Cells(RR, 1) = Stringa

Cells(RR, 2) = A
Cells(RR, 3) = B
Cells(RR, 4) = C
Cells(RR, 5) = D
Cells(RR, 6) = E
Cells(RR, 7) = F
Cells(RR, 8) = G
Cells(RR, 9) = H
Cells(RR, 10) = i
Cells(RR, 11) = j
Cells(RR, 12) = K

RR = RR + 1

Loop
Close #1

Application.ScreenUpdating = True
End Sub

Sub Salva_Su_File_TXT()
Dim LR
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

myFile = ThisWorkbook.Path & "\Utility\Database3.Txt"

'Set rng = Selection
LR = Cells(Rows.Count, "B").End(xlUp).Row
Set rng = Range("A3:K" & LR)

Open myFile For Output As #1

For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count
   
cellValue = rng.Cells(i, j).Value

If j = rng.Columns.Count Then
    Write #1, cellValue
Else
    Write #1, cellValue,
End If

    Next j
Next i

Close #1
End Sub


Ha !!!!
Dimenticavo perchè quando premo il Tasto (Import) Non solo mi importa i dati come si vede nell'immagine; Ma continua a Darmi Errire qui ( Input #1, Stringa, A, B, C, D, E, F, G, H, i, j, K _ Cells(RR, 1) = Stringa )
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi patel » 30/03/18 09:18

Maury170419 ha scritto:Grazie Patel ma anche apportando i tuoi suggerimenti non funziona Comunque

questo tipo di risposte senza fornire dettagli (abituali per te) fanno andar via la voglia di aiutarti
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Maury170419 » 30/03/18 17:02

Perché mi parli in questo modo Patel
Visto che come sempre e mia Abitudine inserire un File di Appoggio in più ti ho messo anche a disposizione il listato della mia ultima modifica; Con tanto di Spiegazione ed immagine allegata.
Cosa Vuoi ancora che ti dia.
Guarda e anni che sono iscritto in questo forum e a parte qualche divergenza di opinioni avuta con un altra persona che non ricordo il nome (Ma stimo Moltissimo) non ho mai avuto nulla da ridire .
Mentre a dire il Vero e anche tutta : Grazie a te sono stato Bandito dal Forum (ExcelFacile) a tal punto che
ora come ora mi potrebbe essere utile poter accedere a tale forum , per poter scaricare almeno dei miei
determinati miei programmi .
Ma grazie a tutti voi non posso farlo in quanto non posso più accedere ; Se per voi questa e giustizia o legalità penso proprio che tutto ciò non lo sia.
Ma tornando noi : Dimmi cosa ancora vuoi e io te lo farò avere per tempo grazie

(P.S) Mi sono pentito quel giorno che ho voluto intraprendere la vocazione di Programmare , perchè sul mio cammino a parte qualche brava persona ho solo trovato dei moralisti , più che Persone di buon cuore disposti solo a darti una mano nel diventare bravo in ciò che mi piace di più ; Oltre al mio Lavoro Principale
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Anthony47 » 30/03/18 23:13

Mi raccomando, calma....

Allora mi pare che il suggerimento di patel abbia risolto il problema dell'Export.

Rimane il fatto che tu avevi parlato, nel tuo messaggio iniziale, anche di una fase di Import e una di Ricerca; non avendo pero' detto nulla su queste fasi (e avendo invece sottolineato che la fase Export non funzionava) io e anche patel (immagino) abbiamo ritenuto che esse funzionassero...

Dal tuo terzo messaggio si deduce che invece anche l'Import non funziona; anzi funziona male perche' i dati vengono posizionati a scalare (vedi immagine).

Questo dipende dal fatto che tu hai esportato 11 campi (A:K) ma poi ne importi 15 per riga...
Per sanare la cosa devi modificare la riga Input #1 in
Codice: Seleziona tutto
Input #1, Stringa, A, B, C, D, E, F, G, H, i, j   


Poi sarebbe anche bene eliminare le righe da Cells(RR, 12) = K a Cells(RR, 15) = N (incluse)

Questo dovrebbe sistemare l'Import.

Rimane la Ricerca, ma cosi' come l'hai descritta non ne capisco l'utilita': dato un ID cercare nel file txt i dati di quell'ID. Se infatti l'Import porta i dati nel file Excel non vedo l'utilita' di andarli a cercare nel file Txt.

Comunque "si puo' fare, quindi se (dopo l'osservazione che ti ho fatto) ne vedi ancora il bisogno lo faremo.

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

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi patel » 31/03/18 09:19

Io sono calmissimo, però ogni volta che provo ad aiutare Mauro (ovviamente prima testo il suggerimento) la prima risposta è sempre che non funziona, subito dopo vedo applicare il suggerimento come se fosse farina del suo sacco.
Questo atteggiamento non mi piace e mi scoraggia da proseguire. Se, come ha detto Mauro, è stato bandito da un forum significa che il suo comportamento è sgradito a molti, quindi non è proprio il caso di fare la vittima, ma piuttosto di cambiare modo di fare. Andando nel dettaglio, quando si riceve un suggerimento non si risponde solamente "non funziona", si deve mostrare come lo si è applicato denunciando l'errore ottenuto.
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Anthony47 » 31/03/18 19:26

Ovviamente l'invito alla calma non era per te, patel; ma per Maurizio...
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Maury170419 » 03/04/18 18:38

Ciao a tutti e Ben Ritornati al nostro lavoro.
Io premetto che sono da sempre una persona Pacata a adita al dialogo ; Da sempre
In quanto il mio lavoro e stare in mezzo alla gente tutti i giorni per 13/14 ore al giorno .
Per qui ho a che fare con persone (Scorbutiche ; Scontrose ; Tranquilla ecc...!) per qui e nel mio DNA non essere nulla di tutto ciò sia in casa mia con la mia famiglia che con gli amici ecc...!
Ahora : Capisco che ognuno di noi abbiamo i nostri ali e bassi , però come avevo detto più volte in altri forum a (Patel) che comunque la pensi nei miei confronti lo stimo moltissimo.
se quel pomeriggio anziché dirmi semplicemente "Adesso capisco il perché molta gente c'é l'anno con te" e poi ti sei fermato li.
Mi avessi subito spiegato il motivo di questa tua affermazione; Visto considerato che : In quel preciso istante io stavo come sempre invocando un aiuto per risolvere una Domanda a quel forum .
Però e anche vero che solo con poche persone sono rimasto ancora in contatto attualmente , anche se sono stato bandito dal forum.
Io non faccio e non voglio fare la vittima ;Perché ripeto per l'ultima volta non è nel mio DNA.
Ma non intendo stare a guardare ho ascoltare persone che sono solo pronte ad accusarmi di comportamenti scorretti ho di saper solo scopiazzare quà e la i file di altri; Quando nella realtà non è cosi.
E vero che in passato lo anche fatto , Scagli la prima pietra che non la mai fatto in tutta la vostra carriera .
Però : Non avendo mai fatto scuola da programmatore ; Da qualche parte dovevo pur incominciare No ?
Detto questo : Quando mi sono iscritto molti anni fa in questo Forum : Quante volte mi e capitato di chiedere a tutti se il mio comportamento era stato Inopportuno ho avessi detto ho fatto cose che avessero provocato l'ira di qualcuno voi ?
Se questo fa parte di una persona scontrosa ecc...!
Ahora vuol proprio dire che sto diventando vecchio.

Tornando alla richiesta di Anthony : Vorrei solo farti notare che , sia il mio Primo Listato che il secondo ; Cioé dolo l'aiuto da parte di (Patel) le linee che vanno dalla (A:J) da te citate vanno ben oltre in quanto la Prima va dalla (A:L) e la seconda va dalla lInea (A:O)
Ma anche in quel caso non era cambiati nulla .
Anche perché io non sarò una cima di programmatore , ma prima di chiedere un aiuto al forum le provo tutte.
Partendo Sempre dal presupposto che come mi hai sempre insegnato tu ed altre persone (Provare e provare e la miglio scuolache esista= ho sbaglio ?

Detto ciò ma senza offesa per nessuno : l'unica cosa che non riesco a trovare da nessuna parte e questa :
Codice: Seleziona tutto
Cells(RR, 12) = K a Cells(RR, 15) = N (incluse)


Dove si trova grazie

(P.S) Scusatemi ancora una volta per il mio lungo sfogo
Io amo parlare di tutto e con tutti , ma ciò che non transigo a quando mi si accusa Ingiustamente; Senza possibilità di Deroga.
E tra l'altro perdere cosi stupidamente i vostri consigli ho programmi che siano senza poter fare nulla per poterli almeno recuperare .
Questa si ?
Che la trovo una Bufalata Megagalattica ; Perché a me servivono all'ora come oggi sono che sono andati persi per sempre . Grazie
Maury170419
Utente Senior
 
Post: 159
Iscritto il: 31/10/16 09:05

Re: Trasferire Dati Da e Per File Txt ed Excel

Postdi Anthony47 » 04/04/18 20:11

Maurizio, credimi: e' controproducente polemizzare in qualsiasi modo con chi (bene o male) cerca di aiutarti, anche quando sei sicuro di aver ragione.
Ne' ha senso continuare qui diatribe che sono cominciate altrove.

Detto questo, riprendo il suggerimento che avevo dato per risolvere il problema dell'importazione:
Questo dipende dal fatto che tu hai esportato 11 campi (A:K) ma poi ne importi 15 per riga...
Per sanare la cosa devi modificare la riga Input #1 in

Codice: Seleziona tutto
    Input #1, Stringa, A, B, C, D, E, F, G, H, i, j   


Poi sarebbe anche bene eliminare le righe da Cells(RR, 12) = K a Cells(RR, 15) = N (incluse)

Questo dovrebbe sistemare l'Import.


Questo suggerimento fu elaborato sulla base del file che pubblicasti nel primo messaggio, e dice che e' esporti 11 campi ma ne importi un numero diverso. E' necessario quindi modificare l'inport in modo da avere un numero di campi pari a quanti ne crei.

Ora tu, dopo aver pubblicato il file, avevi pubblicato un codice aggiornato di cui non dici in che cosa e' diverso dal codice precedente. Noto ora che invece di 15 campi (che importava la macro presente nel file pubblicato) quel codice ne importa solo 12 (sempre piu' degli 11 creati nel file txt); ma tu avresti dovuto saperlo che da 15 campi eri sceso a 12 e avresti potuto adattare il suggerimento alla tua evoluta situazione.

Comunque la modifica obbligatoria ("devi modificare la riga Input #1") rimane la stessa; la modifica opzionale ("sarebbe anche bene eliminare le righe da Cells(RR, 12) = K a Cells(RR, 15) = N (incluse)") va adattata al nuovo tuo codice (in pratica devi eliminare solo Cells(RR, 12) = K, giacche' le altre righe, da Cells(RR, 13) = L a Cells(RR, 15) = N, le hai gia' eliminate nella tua revisione del codice)

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Trasferire Dati Da e Per File Txt ed Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti