Option Explicit Sub Main Dim TipoScelta ' variabile che memorizza la scelta fatta Dim Inizio,fine ' variabili inizio fine Dim sSestina ' valorizzo la variabile con il risultato della funzione che ' consente all'utente di fare una scelta TipoScelta = GetTipoScelta fine = EstrazioneFin ' valuto la scelta fatta Select Case TipoScelta Case 1 Inizio = 1 '1871 Case 2 Inizio = 3575 '08/07/1939 inizio archivio 10 ruote Case 3 Inizio = 6583 '2° Estrazione Settimanale Mercoledì sabato Case 4 Inizio = 7440 ' Ruota Nazionale Case 5 Inizio = 7454 ' 3 estrazioni settimanali martedi giovedi sabato Case 6 Inizio = "Data da Verificare" 'Veneus Case 7 Inizio = EstrazioneFin - CInt(InputBox("Scegli quante Estrazioni analizzare","Inizio Ricerca")) Case Else Scrivi "Nessuan scelta" End Select Call Scrivi("inizio Ricerca Estrazione num :",1,1,RGB(221,236,255),RGB(219,0,0),4) Call Scrivi(Inizio,1,1,,,3) ReDim aRuote(11) ' array che contiene i numeri delle ruote selezionate Dim k Call Scrivi("Ruote di ricerca :",1,1,RGB(221,236,255),RGB(219,0,0),4) If ScegliRuote(aRuote) > 0 Then ' apro la finestra con la lista per selezionare le ruote e se torna maggiore di 0 ' vuol dire che sono state selezionate N ruote ' leggo l'array che ora contiene la selezione dell'utente For k = 1 To UBound(aRuote) If aRuote(k) > 0 Then Call Scrivi(NomeRuota(aRuote(k)),1,1) End If Next End If sSestina = CStr(InputBox("Inserisci i numeri formattati,00, separati da una virgola","Inserisci i numeri di ricerca")) Call Scrivi("Sestina di ricerca :",1,1,RGB(221,236,255),RGB(219,0,0),4) Call Scrivi(sSestina,1,1) ReDim at(44) at(1) = "ID" 'id Num at(2) = "Num" 'Estratto at(3) = "Ru" 'Ruote di verifica at(4) = "C.T" 'Ciclo Teorico at(5) = "F.T" ' Frequenza Teorica at(6) = "F.R " ' frequenza Reale at(7) = "F.M" ' Frequenza Media at(8) = "F.R-F.T" ' Frequenza Reale - Frequenza Media at(9) = "F.R/F.T" ' Frequenza Reale / Frequenza Media at(10) = "R.T " ' Ritardo teorico at(11) = "R.A " 'Ritardo Attuale at(12) = "R.S " 'Ritardo Storico at(13) = "I.R.S" 'Incremento Ritardo cronologico max at(14) = "R.A/R.S " 'Rit.Att/Rit.Sto at(15) = "R.M" 'Rit.Medio at(16) = "D.S" 'Deviazione Standard at(17) = "P.M.S" 'presenze Mese selezionato at(18) = "2NPR" ' 2 Numeri che precedono l'uscita nei 10 casi precedenti del numero verificato at(19) = "F.p1" 'Frequenza in posizione 1 at(20) = "F.p2" at(21) = "F.p3" at(22) = "F.p4" at(23) = "F.p5" at(24)= "M.Fp" 'Frequenza massima Posizione at(25)= "R.p1" 'Rit. posizione 1 at(26)= "R.p2" at(27)= "R.p3" at(28)= "R.p4" at(29)= "R.p5" at(30)= "M.Rp" 'Rit.Massimo di pos at(31) = "R.S.p1" 'max Rit pos 1 at(32) = "R.S.p2" at(33) = "R.S.p3" at(34) = "R.S.p4" at(35) = "R.S.p5" at(36) = "M.S.Rp" 'Max Rit.su tutte le pos at(37) = "Rp1" at(38) = "Rp2" at(39) = "Rp3" at(40) = "Int.Med" ' intervallo medio =RitardoMedio+Deviazione Standars at(41) = "Proi.75%" ' Proi.75% = RitardoMedio + 2*Deviazione Standars at(42) = "Proi.88" ' Proi.88% = RitardoMedio + 3*Deviazione Standars at(43) = "Proi.93" ' Proi.93% = RitardoMedio + 5*Deviazione Standars at(44) = "Punteggio" Call InitTabella(at,RGB(221,236,255),1,3,RGB(219,0,0),"Times new Roman",2,1) CreaTabella End Sub Function GetTipoScelta ' questa funzione propone un menu a tendina per eseguire una scelta ' le voci del meu si preparano tramite un vettore che puo ' essere alimentato coem si vuole in questo caso 3 elementi ReDim aVoci(7) aVoci(1) = "1871 Archivio Completo" aVoci(2) = "08 Luglio 1939(Archivio a 10 Ruote)" aVoci(3) = "08 Maggio 1997(2estr.Mercoledì,Sabato)" aVoci(4) = "04 Giugno 2005(Ruota Nazionale)" aVoci(5) = "21 Giugno 2005(3estr.Martedì,Giovedì,Sabato)" aVoci(6) = "2009 Inizio Venus per tutte le ruote" aVoci(7) = "Scelta Libera" ' mostro la finestra col menu a tendina , mi ritorna un indice da 1 a 6 ' che indica la scelta fatta GetTipoScelta = ScegliOpzioneMenu(aVoci,1,"Scegli Data Inizio Ricerca") End Function