Ciao Geronimo, grazie, grazie e ancora grazie sei stato molto gentile. Dovrò scaricarlo ed imparare ad usarlo, troppe buone informazioni di cui da sempre divento matto a trovarle in giro per siti. Un grazie anche ad @Asuniverso che te l'ha girato. Gentilissimi, ancora grazie.
Ad Maiora
uso Spaziometria da anni .. ma non so usarlo se non per alcune piccole cose e grazie ad Asuniverso che mi ha spinto a cercare di usare le funzionalità sto scoprendo un programma fantastico che il Grande Luigi B. ci ha donato ..poi puoi chiedere anche alla IA di farti uno script e farlo girare ..io non so neanche da dove si inizia a creare uno script, ma basta fare le domande giuste e ottieni risposte ... per esempio volevo sapere quanti terni non sono mai usciti e considerando che ci stiamo avvicinando alle 11.000 estrazioni e che ogni cinquina genera 10 terni pensavo non fossero tantissimi .... errore ENORME ...

c'è un infinità di terni che sono rimasti nelle urne
ti metto lo script qua sotto
Dim nRuota, nEstrTot, e, i, j, k
Dim n1, n2, n3, n4, n5
Dim sChiave, nTerniMancanti
Dim aDizRuote(11)
nEstrTot = EstrazioniArchivio
Call Scrivi("--- ANALISI GLOBALE TERNI MANCANTI SULLE 11 RUOTE ---", True, , , vbBlue)
Call Scrivi("Estrazioni totali in archivio: " & nEstrTot, True)
Call Scrivi("Elaborazione in corso... Attendere qualche secondo.", True)
Call Scrivi("")
' Inizializza un dizionario per ciascuna delle 11 ruote
For nRuota = 1 To 11
Set aDizRuote(nRuota) = CreateObject("Scripting.Dictionary")
Next
' 1. Ciclo unico su tutte le estrazioni storiche reali
For e = 1 To nEstrTot
If ScriptInterrotto Then Exit For
' Processa ogni singola ruota all'interno dell'estrazione corrente
For nRuota = 1 To 11
n1 = Estratto(e, nRuota, 1)
n2 = Estratto(e, nRuota, 2)
n3 = Estratto(e, nRuota, 3)
n4 = Estratto(e, nRuota, 4)
n5 = Estratto(e, nRuota, 5)
' Se la cinquina è valida, registra i suoi 10 terni nel dizionario della ruota specifica
If n1 > 0 And n2 > 0 And n3 > 0 And n4 > 0 And n5 > 0 Then
Call RegistraTerno(n1, n2, n3, aDizRuote(nRuota))
Call RegistraTerno(n1, n2, n4, aDizRuote(nRuota))
Call RegistraTerno(n1, n2, n5, aDizRuote(nRuota))
Call RegistraTerno(n1, n3, n4, aDizRuote(nRuota))
Call RegistraTerno(n1, n3, n5, aDizRuote(nRuota))
Call RegistraTerno(n1, n4, n5, aDizRuote(nRuota))
Call RegistraTerno(n2, n3, n4, aDizRuote(nRuota))
Call RegistraTerno(n2, n3, n5, aDizRuote(nRuota))
Call RegistraTerno(n2, n4, n5, aDizRuote(nRuota))
Call RegistraTerno(n3, n4, n5, aDizRuote(nRuota))
End If
Next
Call AvanzamentoElab(1, nEstrTot, e)
Next
' 2. Creazione della tabella di riepilogo finale testuale
Call Scrivi("=== RIEPILOGO TERNI MAI ESTRATTI PER RUOTA ===", True, , , vbRed)
Call Scrivi("--------------------------------------------------", True)
Call Scrivi("RUOTA | TERNI USCITI | TERNI MANCANTI (VERGINI)", True)
Call Scrivi("--------------------------------------------------", True)
' Controlla i 117.480 terni storici per ciascuna ruota
For nRuota = 1 To 11
nTerniMancanti = 0
For i = 1 To 88
For j = i + 1 To 89
For k = j + 1 To 90
sChiave = Format2(i) & "-" & Format2(j) & "-" & Format2(k)
' Se il terno non esiste nel dizionario della ruota corrente, incrementa i mancanti
If Not aDizRuote(nRuota).Exists(sChiave) Then
nTerniMancanti = nTerniMancanti + 1
End If
Next
Next
Next
' Formatta il nome della ruota per tenerlo in linea nella tabella testuale
Dim sNomeRuota
sNomeRuota = NomeRuota(nRuota)
Do While Len(sNomeRuota) < 14
sNomeRuota = sNomeRuota & " "
Loop
' Stampa il risultato della ruota corrente
Call Scrivi(sNomeRuota & " | " & aDizRuote(nRuota).Count & " | " & nTerniMancanti, True)
Next
Call Scrivi("--------------------------------------------------", True)
Call Scrivi("Nota: Il totale complessivo dei terni teorici per ruota è 117.480.", True)
' Pulizia della memoria
For nRuota = 1 To 11
Set aDizRuote(nRuota) = Nothing
Next
End Sub
' Sotto-funzione che ordina matematicamente i 3 numeri e crea la chiave unica
Sub RegistraTerno(v1, v2, v3, ByRef diz)
Dim t, a, b, c
a = v1
b = v2
c = v3
If a > b Then
t = a
a = b
b = t
End If
If b > c Then
t = b
b = c
c = t
End If
If a > b Then
t = a
a = b
b = t
End If
Dim chiave
chiave = Format2(a) & "-" & Format2(b) & "-" & Format2(c)
If Not diz.Exists(chiave) Then
diz.Add chiave, True
End If
ciao Hulk