X leo postami lo script modificato da te, magari in un altro post , per quello che mi riguarda fa sempre comodo imparare qualcosa di nuovo.
Ciao Mike
Ciao Mike , avevo chiesto scusa per aver modificato i valori , che tu hai impostato nel tuo script , ho voluto sfruttarne il tuo lavoro per averlo come punto di partenza
in una soluzione ciclometrica , ti metto i risultati e sotto il tuo script , non volendo far offesa , ne impossessarmi di un qualcosa che non mi appartiene.
Auguri Leo
Sub Main()
Dim num(1),numad(4),ruota(1),sorte,k
'ad = CInt(InputBox("Quale numero adattatore ",,0))
nstart = Timer
Ini = EstrazioneIni
fin = EstrazioneFin
diff = fin - Ini
Scrivi" Statistica Veloce Analitica su Numeri Ritardatari e laterali " & " ",1,- 1,6
Scrivi String(100,"=")
Scrivi " Dalla data..." & DataEstrazione(Ini) & " - alla data..." & DataEstrazione(fin) & " - Estrazioni Totali esaminate..." & DIFF,1
Scrivi String(100,"=")
Scrivi
'--------- crea tabella---------------
ReDim atitoli(20)
atitoli(1) = " Ruota "
atitoli(2) = " Ritardatario "
atitoli(3) = " CAP + LAT "
atitoli(4) = " RD1 "
atitoli(5) = " RD2 "
atitoli(6) = " RD3 "
atitoli(7) = " RD4 "
atitoli(8) = " RD5 "
atitoli(9) = " Ritardo attuale "
atitoli(10) = " Ritardo Storico "
atitoli(11) = " incr. storico "
atitoli(12) = " Frequenza "
'atitoli(12) = " - esito - "
'atitoli(13) = " - stringa Esito- "
'atitoli(14) = " Estratti ultimi "
atitoli(16) = " RP1 "
atitoli(17) = " RP2 "
atitoli(18) = " RP3 "
atitoli(19) = " RP4 "
atitoli(20) = " RP5 "
' inizializzo la tabella
Call InitTabella(atitoli,1,,3,5)
For r = 1 To 12
If r = 11 Then r = 12
For k = 1 To 90
ruota(1) = r
num(1) = k
numad(1) = num(1)
numad(2) = Fuori90(num(1) + 20)
numad(3) = Fuori90(num(1) - 20)
numad(4) = Fuori90(num(1) - 45)
If k = PiuRitardatario(fin,r) Then
Call AvanzamentoElab(Ini,fin,n)
If ScriptInterrotto Then Exit For
Call StatisticaFormazione(numad,ruota,1,rit,ritmax,incrRitMax,freq,Ini,fine)
'Call VerificaEsito(num,ruota,fin,sorte,1,,retesito,retcolpi,retestratti)
'----- calcolo valori in tabella --------------
ReDim avalori(20)
avalori(1) = NomeRuota(r)
avalori(2) = k
avalori(3) = numad(1) & "." & numad(2) & "." & numad(3) & "." & numad(4)
avalori(4) = RitDiPos(numad,1,ruota)
avalori(5) = RitDiPos(numad,2,ruota)
avalori(6) = RitDiPos(numad,3,ruota)
avalori(7) = RitDiPos(numad,4,ruota)
avalori(8) = RitDiPos(numad,5,ruota)
avalori(9) = rit
avalori(10) = ritmax
avalori(11) = incrRitMax
avalori(12) = freq
'avalori(12) = retesito
'avalori(13) = retestratti
'avalori(14) = StringaEstratti(fin,r)
ReDim aretritardi(0)
ReDim aretidestr(0)
Call ElencoRitardi(numad,ruota,1,Ini,fin,aretritardi,aretidestr)
last1 = UBound(aretritardi) - 1
For x = last1 To UBound(aretritardi) - 1
avalori(16) = aretritardi(x)' & " - alla data " & DataEstrazione(aretidestr(x))
Next
last2 = UBound(aretritardi) - 2
For xx = last2 To UBound(aretritardi) - 2
avalori(17) = aretritardi(xx) '& " - alla data " & DataEstrazione(aretidestr(xx))
Next
last3 = UBound(aretritardi) - 3
For xxx = last3 To UBound(aretritardi) - 3
avalori(18) = aretritardi(xxx)' & " - alla data " & DataEstrazione(aretidestr(xxx))
Next
last4 = UBound(aretritardi) - 4
For xxxx = last4 To UBound(aretritardi) - 4
avalori(19) = aretritardi(xxxx) '& " - alla data " & DataEstrazione(aretidestr(xxxx))
Next
last5 = UBound(aretritardi) - 5
For xxxxx = last5 To UBound(aretritardi) - 5
avalori(20) = aretritardi(xxxxx) '& " - alla data " & DataEstrazione(aretidestr(xxxxx))
Next
Call AddRigaTabella(avalori,,,3)
Call SetColoreCella(9,,1)
Call SetColoreCella(2,,2)
Call SetColoreCella(3,,7)
If rit > 100 Then Call SetColoreCella(9,vbGreen)
End If
Next
Next
Call CreaTabella()
nend = Timer
Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((nend + 1) - nstart))
Scrivi
Scrivi " Tabella listed By Mike58 ",1,- 1,6
Scrivi
Scrivi "Statistica riferita ai numeri generati dal più ritardatario e laterali..." & ad,1,- 1,4
Scrivi" Richiesta by Giulio_LG ",1,- 1,3
End Sub
Function RitDiPos(numad,pos,ruota)
ReDim apos(5)
ReDim aruota(1)
ReDim anum(1)
anum(1) = num
apos(pos) = True
aruota(1) = ruota
RitDiPos = RitardoCombinazione(ruota,numad,1,0,apos)
End Function
Function FormattaSecondi(s)
'Questa Function trasforma il numero di secondi passato come parametro in una stringa
' passando i secondi si ottengono ore minuti e secondi in formato hh:mm:ss
' s ---> Numero di secondi da formattare
' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
Dim hh
Dim Mm
Dim Ss
Dim TimeStr
hh = s \ 3600
Mm =(s Mod 3600) \ 60
Ss = s -((hh * 3600) +(Mm * 60))
TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function
Ciao Mike
Ciao Mike , avevo chiesto scusa per aver modificato i valori , che tu hai impostato nel tuo script , ho voluto sfruttarne il tuo lavoro per averlo come punto di partenza
in una soluzione ciclometrica , ti metto i risultati e sotto il tuo script , non volendo far offesa , ne impossessarmi di un qualcosa che non mi appartiene.
Auguri Leo
Sub Main()
Dim num(1),numad(4),ruota(1),sorte,k
'ad = CInt(InputBox("Quale numero adattatore ",,0))
nstart = Timer
Ini = EstrazioneIni
fin = EstrazioneFin
diff = fin - Ini
Scrivi" Statistica Veloce Analitica su Numeri Ritardatari e laterali " & " ",1,- 1,6
Scrivi String(100,"=")
Scrivi " Dalla data..." & DataEstrazione(Ini) & " - alla data..." & DataEstrazione(fin) & " - Estrazioni Totali esaminate..." & DIFF,1
Scrivi String(100,"=")
Scrivi
'--------- crea tabella---------------
ReDim atitoli(20)
atitoli(1) = " Ruota "
atitoli(2) = " Ritardatario "
atitoli(3) = " CAP + LAT "
atitoli(4) = " RD1 "
atitoli(5) = " RD2 "
atitoli(6) = " RD3 "
atitoli(7) = " RD4 "
atitoli(8) = " RD5 "
atitoli(9) = " Ritardo attuale "
atitoli(10) = " Ritardo Storico "
atitoli(11) = " incr. storico "
atitoli(12) = " Frequenza "
'atitoli(12) = " - esito - "
'atitoli(13) = " - stringa Esito- "
'atitoli(14) = " Estratti ultimi "
atitoli(16) = " RP1 "
atitoli(17) = " RP2 "
atitoli(18) = " RP3 "
atitoli(19) = " RP4 "
atitoli(20) = " RP5 "
' inizializzo la tabella
Call InitTabella(atitoli,1,,3,5)
For r = 1 To 12
If r = 11 Then r = 12
For k = 1 To 90
ruota(1) = r
num(1) = k
numad(1) = num(1)
numad(2) = Fuori90(num(1) + 20)
numad(3) = Fuori90(num(1) - 20)
numad(4) = Fuori90(num(1) - 45)
If k = PiuRitardatario(fin,r) Then
Call AvanzamentoElab(Ini,fin,n)
If ScriptInterrotto Then Exit For
Call StatisticaFormazione(numad,ruota,1,rit,ritmax,incrRitMax,freq,Ini,fine)
'Call VerificaEsito(num,ruota,fin,sorte,1,,retesito,retcolpi,retestratti)
'----- calcolo valori in tabella --------------
ReDim avalori(20)
avalori(1) = NomeRuota(r)
avalori(2) = k
avalori(3) = numad(1) & "." & numad(2) & "." & numad(3) & "." & numad(4)
avalori(4) = RitDiPos(numad,1,ruota)
avalori(5) = RitDiPos(numad,2,ruota)
avalori(6) = RitDiPos(numad,3,ruota)
avalori(7) = RitDiPos(numad,4,ruota)
avalori(8) = RitDiPos(numad,5,ruota)
avalori(9) = rit
avalori(10) = ritmax
avalori(11) = incrRitMax
avalori(12) = freq
'avalori(12) = retesito
'avalori(13) = retestratti
'avalori(14) = StringaEstratti(fin,r)
ReDim aretritardi(0)
ReDim aretidestr(0)
Call ElencoRitardi(numad,ruota,1,Ini,fin,aretritardi,aretidestr)
last1 = UBound(aretritardi) - 1
For x = last1 To UBound(aretritardi) - 1
avalori(16) = aretritardi(x)' & " - alla data " & DataEstrazione(aretidestr(x))
Next
last2 = UBound(aretritardi) - 2
For xx = last2 To UBound(aretritardi) - 2
avalori(17) = aretritardi(xx) '& " - alla data " & DataEstrazione(aretidestr(xx))
Next
last3 = UBound(aretritardi) - 3
For xxx = last3 To UBound(aretritardi) - 3
avalori(18) = aretritardi(xxx)' & " - alla data " & DataEstrazione(aretidestr(xxx))
Next
last4 = UBound(aretritardi) - 4
For xxxx = last4 To UBound(aretritardi) - 4
avalori(19) = aretritardi(xxxx) '& " - alla data " & DataEstrazione(aretidestr(xxxx))
Next
last5 = UBound(aretritardi) - 5
For xxxxx = last5 To UBound(aretritardi) - 5
avalori(20) = aretritardi(xxxxx) '& " - alla data " & DataEstrazione(aretidestr(xxxxx))
Next
Call AddRigaTabella(avalori,,,3)
Call SetColoreCella(9,,1)
Call SetColoreCella(2,,2)
Call SetColoreCella(3,,7)
If rit > 100 Then Call SetColoreCella(9,vbGreen)
End If
Next
Next
Call CreaTabella()
nend = Timer
Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((nend + 1) - nstart))
Scrivi
Scrivi " Tabella listed By Mike58 ",1,- 1,6
Scrivi
Scrivi "Statistica riferita ai numeri generati dal più ritardatario e laterali..." & ad,1,- 1,4
Scrivi" Richiesta by Giulio_LG ",1,- 1,3
End Sub
Function RitDiPos(numad,pos,ruota)
ReDim apos(5)
ReDim aruota(1)
ReDim anum(1)
anum(1) = num
apos(pos) = True
aruota(1) = ruota
RitDiPos = RitardoCombinazione(ruota,numad,1,0,apos)
End Function
Function FormattaSecondi(s)
'Questa Function trasforma il numero di secondi passato come parametro in una stringa
' passando i secondi si ottengono ore minuti e secondi in formato hh:mm:ss
' s ---> Numero di secondi da formattare
' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
Dim hh
Dim Mm
Dim Ss
Dim TimeStr
hh = s \ 3600
Mm =(s Mod 3600) \ 60
Ss = s -((hh * 3600) +(Mm * 60))
TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
FormattaSecondi = TimeStr
End Function