Non e' che mi ero dimenticato, e' che aspettavo di avere "qualche mese libero" per poter fare dei test...
Lavorando sulla prima richiesta ho sviluppato questo file che teoricamente potrebbe fare il lavoro richiesto:
https://www.dropbox.com/s/znpa7dgysd5ff ... .xlsm?dl=0La macro che effettua l'elaborazione e' la Sub Scan.
Il file l'ho collaudato fino a Combinazioni di 90 numeri a gruppi di 4, che ha richiesto circa 2h30m per essere elaborato.
Nella parte superiore a sinistra, in B2:B4 vanno inseriti rispettivamente:
-in limite superiore dei numeri da combinare
-la Classe della combinazione (N° di elementi per ogni combinazione)
-il punteggio minimo per prendere in considerazione una Combinazione
free image hosting(per allargare l'immagine: tasto dx /Visualizza immagine)
Da colonna AA verso destra verrano posizionati i risultati della lavorazione:
-in AA la prima riga in cui quella combinazione ha avuto quel punteggio
-in AB il punteggio: i numeri interi sono il vero punteggio, i centesimi indicano quante volte quel punteggio e' stato ottenuto
-in AC il tempo in Sec dopo il via in cui quel risultato e' stato calcolato
-in AD e adiacenti la vera combinazione
Le colonne AA e AC sono servite principalmente al debug della macro.
Solo le combinazioni che hanno totalizzato almeno il punteggio minimo impostato in B4 viene riportato nella tabella.
Nelle colonne X, Y e Z ho inserito delle mie formule di analisi dei risultati; a spanne mi pare che lavorando con combinazioni di 8 numeri circa il 72% totalizza almeno 1 volta 5 punti, lavorando sulle 218 estrazioni; e il 20% totalizza almeno 1 volta 6 punti. Statistiche su 7 e 8 punti non ne ho fatto.
Il file e' impostato come "Approssima come visualizzato" (Opzioni /Impostazioni avanzate); ricordalo se lo usi per farci altri calcoli.
Dopo la compilazione dei parametri in B2:B4 in B2 viene calcolato il numero di combinazioni da elaborare, e la macro puo' essere avviata tramite Alt-F8, selezione nome macro, Esegui.
All'avvio la macro calcola e presenta il tempo stimato di esecuzione, lasciando all'utente la possibilita' di Interrompere l'eleborazione in qualsiasi momento e di avere l' Aggiornamento sull'avanzamento lavori (cicli da fare, cicli gia' fatti, termine stimato).
I risultati saranno posizionati nelle colonne AA e adiacenti solo al completamento o all'interruzione del ciclo.
In caso di interruzioni il Msgbox di chiusura indichera' quanti cicli (del totale calcolato in A1) sono stati eseguiti.
La macro e' fortemente integrata con il foglio su cui si trovano le estrazioni (indipendentemente dal suo nome); quindi se devi usarla per lavorare su altre estrazioni, la cosa migliore e' che posizioni sul foglio le altre estrazioni. Io ho interpretato che le estrazioni partono dalla colonna C, riga 6 (originariamente erano in riga 5); le estrazioni devono avere alla destra una colonna vuota, per identificarne la fine.
Tra gli N limiti del lavoro:
- il tempo di esecuzioni, legato alla necessita' di eseguire il lavoro su una moltitudine di combinazioni; oscilla tra qualche minuto a diversi anni.
- la lunghezza massima della tabella dei risultati, pari a 1048570 righe (le righe disponibili nelle versioni correnti di Excel): poiche' non tutte le combinazioni superano la soglia di punteggio impostata sara' probabilmente possibile processare combinazioni che producono piu' di questo numero di risultati, ma il limite e' invalicabile e provoca l'interruzione dell'elaborazione con relativo messaggio. A spanne devo ritenere che qualsiasi elaborazione che duri piu' di 4 ore sara' interrotta per raggiunto limite della tabella.
Spero che quanto detto sia comprensibile e di qualche utilita'...