Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-12-2009, 21:34   #1
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
[VBA Excel] Codice corretto che talvolta dà errore

Ciao, io sto lavorando con un macro di Excel. Sintatticamente è corretta e difatti funziona, tuttavia talvolta far girare il codice mi dà errore. Da che cosa può dipendere?

Ad esempio ecco il codice snellito al minimo che però ha il medesimo comportamento del codice completo:

Codice:
Sub test()
    
    Sheets("foglio").Range("A5").Select

End Sub

Questo codice a seconda dei casi mi scatena un errore, come mai? Che dipenda dalla selezione attiva al momento del richiamo della macro?

Ciao!!!
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2009, 14:34   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Codice:
Public Sub SelezionaFoglio(nomeFoglio As String, indirizzoRange As String)

    Sheets(nomeFoglio).Activate
    Range(indirizzoRange).Select

End Sub
In un Modulo o in una UserForm.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2009, 17:08   #3
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Ciao Marco, grazie per la risposta, ma sai qual è la cosa curiosa? E' che se spezzo il codice

Codice:
Sub test()
   Sheets("foglio").Select
   Range("A5").Select
end sub
sembra che invece l'errora non mi si presenti più...

come mai?

Ciao!
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2009, 17:28   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Activate ( su Foglio ) + Select ( su Range ) è il metodo espressamente consigliato dalla Guida VBA di Excel, perciò mi atterrei a quello. Poi, ci sono casi in cui il Select su Range fallisce, casi in cui sembra funzionare, ma alla prima modifica ti pianta in asso.
Ha certamente a che fare con questioni di Focus...
Personalmente non mi sono mai preso la briga di studiare a fondo la casistica, dal momento che il 99% dei .Select così come escono dal registratore Macro si possono tranquillamente cestinare, e inoltre tutte le operazioni possibili in VBA con Celle e Range, si possono eseguire ( e anzi, si DEVONO eseguire ) senza previa selezione degli elementi interessati.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2009, 18:00   #5
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Cosa intendi per "questioni di Focus"?

Se ho capito bene mi consigli di non usare una selezione ma di effettuare le operazioni direttamente. Ad esempio dovessi usare un filtro sarbbe melgio fare:


Codice:
Sheets("foglio").Range("A5").AutoFilter Field:=13, Criteria1:="paperino"
pittosto che:

Codice:
   Sheets("foglio").Activate
   Range("A5").Select
   Selection.AutoFilter Field:=13, Criteria1:="paperino"
Però non trovi che, in generale, VBA presenti una sintassi poco robusta?
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2009, 19:44   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
Cosa intendi per "questioni di Focus"?

Se ho capito bene mi consigli di non usare una selezione ma di effettuare le operazioni direttamente. Ad esempio dovessi usare un filtro sarbbe melgio fare:


Codice:
Sheets("foglio").Range("A5").AutoFilter Field:=13, Criteria1:="paperino"
pittosto che:

Codice:
   Sheets("foglio").Activate
   Range("A5").Select
   Selection.AutoFilter Field:=13, Criteria1:="paperino"
Però non trovi che, in generale, VBA presenti una sintassi poco robusta?
- Questioni di Focus : se da un pulsante che sta su Foglio1 fai eseguire direttamente operazioni su Foglio2 che includono Select, ci sono alte probabilità che falliscano. Una routine di selezione locale non deve mai riferirsi ad elementi su altri fogli. Se proprio non si può fare a meno di selezionare, meglio farlo fare a routine che "vedono dall'alto" tutti gli Sheets, ossia da un Modulo, o da una UserForm. Ripeto, non ho una spiegazione esatta su tutti i casi in cui .Select vada in errore, perchè non faccio MAI uso di .Select, quindi elimino il problema alla radice.

- Esatto. Tra l'altro la prima AutoFilter è più corretta, compatta, e leggibile della seconda, perciò perchè mai usare .Select e poi Selection.AutoFilter ?
Quello è tipico del codice generato dal macro recorder, che è grezzo, prolisso, e anche abbastanza "stupido".

- Più che sintassi, direi che il vero problema è l'IDE. L'editor VBA di Office non brilla certo per robustezza ed evidenzia solo una parte degli errori in fase di scrittura. Perfino alcuni errori di sintassi vengono fuori solo a runtime, e non è raro vedere l'intellisense che non parte dopo un punto "." .
Per me non è mai stato un problema, dato che mi sono avvicinato a VBA conoscendo già VB6, ma per altri posso capire che sia una gran bella scocciatura.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2009, 18:32   #7
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Ho capito!

Beh che brutto però che sintassi apparentemente equivalenti (e probabilmente logicamente corrette) scatenino errori...ti chiedo ancora una cosa. Se dovessi fare un filtro congiunto (cioè filtrare la colonna A per un criterio e la B per un altro), come posso fare?

Io ho provato così
Codice:
Sheets("foglio").Range("A1:C1").AutoFilter Field:=1, Criteria1:="paperino"
Sheets("foglio").Range("A1:C1").AutoFilter Field:=2, Criteria1:="pippo"
però mi genera un errore. Se invece "seleziono" il tutto sembra funzionare (per poi darmi però i problemi che mi han indotto ad aprire questo topic):

Codice:
Selection.AutoFilter Field:=1, Criteria1:="paperino"
Selection.AutoFilter Field:=2, Criteria1:="pippo"
eppure le due logiche mi sembrano identiche...

Ultima modifica di superciccio14 : 15-12-2009 alle 20:06.
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2009, 09:54   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
- VBA non è colpevole in questo. Ripeto, semmai sono i limiti del VBE di Office... Il fatto che ci siano errori logici non individuati dall'editor è cosa comune a tutti i linguaggi del mondo. Se crei un array di 5 elementi e poi vai a leggere il sesto, sintatticamente è ok, ma poi in debug va in errore, e in questo la stragrande maggioranza degli Ide non ti aiuta...

- No, non funziona così. Se hai una tabella dati su foglio Excel che va dalla colonna A alla C per N righe, con l'AutoFilter devi avere una riga di intestazione campi all'inizio, in questo caso la riga "A1:C1".
Inoltre è inutile specificare tutto il range, basta solo la prima cella in alto a sinistra della tabella dati, in questo caso "A1" :

Codice:
    Sheets("Foglio1").Range("A1").AutoFilter Field:=1, Criteria1:="paperino"
    Sheets("Foglio1").Range("A1").AutoFilter Field:=2, Criteria1:="pippo"
Altro ennesimo esempio in cui .Select e Selection non servono.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2009, 18:11   #9
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Ciao, in primis ti ringrazio nuovamente per l'aiuto.

ho testato il tuo codice e se lo lancio con selezionato foglio 1 funziona bene, se lo lancio con selezionato un altro foglio invece mi restituisce dei valori completamente sballati. Come mai secondo te?

L'esempio sull'array è stato esaustivo, tuttavia secondo me lo si potrebbe annoverare tra gli errori "logici".

Per fare un parallelo è coome se in Java facessi
Codice:
Persona p;
p = new("Nome","Cognome");
oppure

Codice:
Persona p = new("Nome","Cognome");

ed in un caso andasse bene mentre nell'altro no.


PS.
Esiste una guida esustiva e bene fatta su Visual Basic for Application (quello che io abbrevio VBA )?

PPS:
Sulla guida di excel ho trovato dei "metodi" Select applicati ad oggetti Sheets. Che macello...
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2009, 19:56   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
ho testato il tuo codice e se lo lancio con selezionato foglio 1 funziona bene, se lo lancio con selezionato un altro foglio invece mi restituisce dei valori completamente sballati. Come mai secondo te?
Non mi risulta. Quel codice fa riferimento al foglio e alla cella, perciò non può dare adito ad ambiguità, e da me infatti funziona perfettamente, indipendentemente da dove venga lanciato...

Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
L'esempio sull'array è stato esaustivo, tuttavia secondo me lo si potrebbe annoverare tra gli errori "logici".
Non capisco il "tuttavia". Io infatti ho parlato di errori non-sintattici.

Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
PS.
Esiste una guida esustiva e bene fatta su Visual Basic for Application (quello che io abbrevio VBA )?
Non credo. VB For Application non ha senso se lo si studia al di fuori dell'application "di cui è For". Con VBA non puoi certo compilare un .exe o una .dll come in VB6.
Quindi puoi trovare manuali su Excel + VBA, Access + VBA, ecc., ma alla fine li definirei in molti modi, eccetto "esaustivi".

Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
PPS:
Sulla guida di excel ho trovato dei "metodi" Select applicati ad oggetti Sheets. Che macello...
A dire il vero quello è uno dei pochi casi in cui capisco il .Select. Se devo selezionare semplicemente un Foglio per portarlo all'attenzione dell'utente, ci può stare.
In generale la mia tendenza a non usare e a sconsigliare i .Select e i Selection è mia personale. Potrebbero esserci manuali onesti che invece illustrano come usarli regolarmente. Secondo la mia esperienza con Excel e VBA la trovo una pratica errata.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2009, 23:09   #11
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Non mi risulta. Quel codice fa riferimento al foglio e alla cella, perciò non può dare adito ad ambiguità, e da me infatti funziona perfettamente, indipendentemente da dove venga lanciato...
Difatti hai ragione, avevo un piccolo baco sul prosieguo del codice che m iinficiava i riusltati. (Scorie della mia vecchia impostazione col .Select )


Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Non capisco il "tuttavia". Io infatti ho parlato di errori non-sintattici.
Io dico che se il metodo .Select non è definito per l'oggetto Sheet dovrebbe darmi un errore subito in fase di scrittura (come fa ad esempio Eclipse per Java). Invece in questo caso, come ti dicevo nel primo post, a volte la macro girava a volte mi dava errore.


Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Non credo. VB For Application non ha senso se lo si studia al di fuori dell'application "di cui è For". Con VBA non puoi certo compilare un .exe o una .dll come in VB6.
Quindi puoi trovare manuali su Excel + VBA, Access + VBA, ecc., ma alla fine li definirei in molti modi, eccetto "esaustivi".
Infatti, la cosa frustrante è quella. Che peccato. Comunque io non ne so nulla nemmeno di VB, dici che mi potrebbe aiutare leggere una guida per comprendere meglio il VBA?


Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
A dire il vero quello è uno dei pochi casi in cui capisco il .Select. Se devo selezionare semplicemente un Foglio per portarlo all'attenzione dell'utente, ci può stare.
In generale la mia tendenza a non usare e a sconsigliare i .Select e i Selection è mia personale. Potrebbero esserci manuali onesti che invece illustrano come usarli regolarmente. Secondo la mia esperienza con Excel e VBA la trovo una pratica errata.
A quel punto potresti anche solo fare
Codice:
Sheets("foglio che voglio in primo piano").Activate
Range("A1").Select
e salvi capra e cavoli


Grazie Ancora!
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 09:12   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
Io dico che se il metodo .Select non è definito per l'oggetto Sheet dovrebbe darmi un errore subito in fase di scrittura (come fa ad esempio Eclipse per Java). Invece in questo caso, come ti dicevo nel primo post, a volte la macro girava a volte mi dava errore.
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
A quel punto potresti anche solo fare
Codice:
Sheets("foglio che voglio in primo piano").Activate
Range("A1").Select
e salvi capra e cavoli
No, non è per quel motivo. Per questo dico che uno dei pochi casi in cui condivido il .Select è la selezione semplice del Foglio. In che altro modo potresti selezionare un Foglio se non con .Select o .Activate ?

In realtà .Select è disponibile su Sheets(), basta che cerchi "Select" nel visualizzatore oggetti del VBE, e ottieni l'elenco di tutte le classi che lo espongono.
Se crei un pulsante su Foglio1 e associ questo codice :
Codice:
Sheets("Foglio2").Select
infatti funziona.
I problemi veri insorgono quando si fanno selezioni con .Select e Selection di Celle, Range, Grafici, ecc., da un foglio all'altro, mentre bisognerebbe creare, come ti ho suggerito in precedenza, delle routine pubbliche, a livello di Modulo o di UserForm.

Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
Infatti, la cosa frustrante è quella. Che peccato. Comunque io non ne so nulla nemmeno di VB, dici che mi potrebbe aiutare leggere una guida per comprendere meglio il VBA?
Se conosci bene VB6, hai già praticamente in tasca il VBA ( sempre con le dovute limitazioni di quest'ultimo, sia chiaro ), ti rimane solo di apprendere il modello ad oggetti specifico dell'applicazione Office che vuoi usare.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 12:36   #13
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Ok, capito

Ti chiedo un'ultima cosa. Se io dovessi contare le celle filtrate secondo un certo criterio, lo farei con questo codice:

Codice:
Range("A2:A1500").SpecialCells(xlCellTypeVisible).Count
(La tabella ha 1500 righe e la prima è di intestazione)

ma come faccio a gestire l'eccezione in cui ho 0 celle selezionate? VBE mi darebbe un errore...

Ciao!
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 14:14   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Codice:
    Dim cnt As Integer
    On Error Resume Next
    cnt = Range("A2:A1500").SpecialCells(xlCellTypeVisible).Count
    MsgBox cnt
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 14:24   #15
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Ahh ok, fondamentalmente .Count riconosceva lo 0 solo che mi bloccava l'esecuzione perché lo riconosceva come un errore a runtime!

Cosi facendo gli si dice di ignorare l'errore salvare comunque lo 0.

Corretto?

Allora mi dichiaro

Codice:
On Error Resume Next
in testa cosi mi vale per tutto il codice. Grandissimo!

Grazie. Ciao!


Ultima modifica di superciccio14 : 17-12-2009 alle 14:26.
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 14:44   #16
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Però così facendo mi ignora eventuali altri errori...

La soluzione artigianale sarebbe quella di usare i subtotali...

Ultima modifica di superciccio14 : 17-12-2009 alle 14:58.
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 15:07   #17
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
Però così facendo mi ignora eventuali altri errori...

La soluzione artigianale sarebbe quella di usare i subtotali...
Ma puoi sempre metterla in un Function esterna, in tal modo il Resume Next vale solo nell'ambito della Function.
Se vuoi imparare VBA, accetta un consiglio : cerca da subito di parametrizzare le cose che fai creando Function e Sub generiche e riutilizzabili, non fare tutto quanto in un unico flusso di codice...

Altra alternativa, comunque, è di fare un On Error Goto...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 15:39   #18
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Cioè tu dici ad esempio

Codice:
Function Pippo(s As Sheets, d As Sheet)
    Dim cnt As Integer
    On Error Resume Next
    cnt = Sheets(s).Range("A2:A1500").SpecialCells(xlCellTypeVisible).Count
    Sheets(d).Range(A1).Value = cnt;
end Function
Così costringo il resume next nella funzione, ma poi come la richiamo nel "main"? non so a che oggetto applicarlo...

(conta che io sto lavorando in un unico modulo ed ho messo la funzione in testa al codice, prima di sub Modulo1())

Codice:
Pippo("foglio1","foglio2")
Mi manca un passaggio (scusa se faccio domande banali)

Ultima modifica di superciccio14 : 17-12-2009 alle 15:42.
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2009, 17:44   #19
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
Cioè tu dici ad esempio

Codice:
Function Pippo(s As Sheets, d As Sheet)
    Dim cnt As Integer
    On Error Resume Next
    cnt = Sheets(s).Range("A2:A1500").SpecialCells(xlCellTypeVisible).Count
    Sheets(d).Range(A1).Value = cnt;
end Function
Così costringo il resume next nella funzione, ma poi come la richiamo nel "main"? non so a che oggetto applicarlo...

(conta che io sto lavorando in un unico modulo ed ho messo la funzione in testa al codice, prima di sub Modulo1())

Codice:
Pippo("foglio1","foglio2")
Mi manca un passaggio (scusa se faccio domande banali)
No, intendo questo :

Codice:
Public Function ContaRigheFiltrate(foglio As String, intervallo As String)

    Dim cnt As Integer
    On Error Resume Next
    cnt = Sheets(foglio).Range(intervallo).SpecialCells(xlCellTypeVisible).Count
    ContaRigheFiltrate = cnt

End Function
che può essere messa in un Modulo, ad esempio.
E viene usata, ad esempio così :

Codice:
MsgBox ContaRigheFiltrate("Foglio1", "A2:A1500")
Non so cosa intendi per "sub Modulo1()". Non esistono intestazioni di modulo in VBA. Un Modulo VBA dovrebbe contenere solo dichiarazioni di variabili e metodi ( Sub e Function ).
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2009, 09:37   #20
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Fantastico! Ho capito, funziona!

Posso fare ancora un'ultima domanda (spero): ma se volessi fare invece una funzione che mi somma i valori delle celle filtrate? C'è il solito problema dello 0 che ho incontrato per count?

Ciao

io ho trovato quest'esempio http://ennius.altervista.org/vba/vba59.php ma non so...non usa SpecialCells.

Io pensavo:
Codice:
Sub Modulo2()
    Dim cl As Range
    For Each cl In Sheets("foglio").Range("A2:A1500").SpecialCells(xlCellTypeVisible)
    'vado a dargli un offset per individuare la colonna col valore
    tot = tot + cl.Offset(0, 3).Value   
    Next
    MsgBox (tot)
End Sub

Ultima modifica di superciccio14 : 18-12-2009 alle 11:13.
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Intel tagli ancora: vuole rendere la div...
Tesla sta per lanciare il Robotaxi nella...
Dead Island 2 arriva su Mac, ma a un pre...
FIA e Formula E rinnovano il matrimonio:...
Windows 11 24H2 approda su nuovi sistemi...
Le restrizioni americane hanno generato ...
Una Mercedes EQS con batterie allo stato...
Il robot Walker S2 della Cina cambia la ...
Cosa vuol dire "vantaggio quantisti...
Retelit punta sulla connettività ...
Novità WhatsApp: promemoria sui m...
AMD: la prossima generazione di schede v...
MediaWorld potrebbe diventare cinese: Ce...
Amazon in delirio da sconti: 22 articoli...
EOLO ha più di 700 mila utenti in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v