solare
Advanced Member >PLATINUM<
Ciao, in merito al listato da te fatto ho notato un errore, probabilmente mi ero spiegato male io.
In sostanza il listato conta le presenze della decina nel primo ciclo da 5 estrazioni, nel secondo ciclo sempre cinque estrazioni.
In sostanza il modo giusto sarebbe il primo ciclo da 5 estrazioni, mentre nel semiciclo dovrebbe contare le presenze che si sono avute nelle ultime 3 estrazioni del primo ciclo.
Indipendentemente dallapossibilità di effettuare questa modifica ringrazio comunque della tua disponibilità.
Option Explicit
'Ricerca BiCiclica By Joe Rev 2.1 (su script di LuigiB ?).
Sub Main
Dim TipoArc
Dim nCicli
Dim Inizio,Fine
Dim idEstr
Dim idDecina
Dim sErr
Dim nTotale
Dim nTotale2
Dim nTotale3
Dim nTotale4
Dim CL
ReDim aNum(10)
ReDim aRuote(1)
CL = 5 'SemiciCiclo di 5 Estrazioni
nCicli = Int(InputBox("Inserire il numero dei cicli da " & CL,,3))
TipoArc = ScegliArchivio
Call ImpostaArchivio10ELotto(TipoArc)
Inizio =(EstrazioniArchivioDL -(nCicli * 2 * CL)) + 1
Fine = EstrazioniArchivioDL - CL + 1
If nCicli > 0 And Inizio > 0 And TipoArc > 0 Then
For idDecina = 1 To 9
nTotale = 0
Call AlimentaNumeri(idDecina,aNum)
ReDim aTitoli(5)
aTitoli(1) = " Range (" & CL & "+" & CL & ") Estrazioni."
aTitoli(2) = " Primo "
aTitoli(3) = " Secondo "
aTitoli(4) = " Totali "
aTitoli(5) = " Ultimo Diff tra ciclo e semiciclo "
Call InitTabella(aTitoli)
For idEstr = Inizio To Fine Step 2 * CL
ReDim aValori(5)
aValori(1) = CStr(idEstr) & "-" & CStr(idEstr + CL - 1) & " + " & CStr(idEstr) + CL & "-" & CStr(idEstr + 2 * CL - 1)
aValori(2) = SerieFreqDL(idEstr,idEstr + CL - 1,aNum,1)
aValori(3) = SerieFreqDL(idEstr + CL,idEstr + 2 * CL - 1,aNum,1)
aValori(4) = aValori(2) + aValori(3)
aValori(5) = aValori(3) - aValori(2)
nTotale = nTotale + aValori(5)
nTotale2 = nTotale2 + CLng(aValori(2))
nTotale3 = nTotale3 + CLng(aValori(3))
nTotale4 = nTotale4 + CLng(aValori(4))
Call AddRigaTabella(aValori)
Next
ReDim aValori(5)
aValori(1) = "T O T A L I"
aValori(2) = nTotale2
aValori(3) = nTotale3
aValori(4) = nTotale4
aValori(5) = nTotale
Call AddRigaTabella(aValori,vbYellow)
nTotale2 = 0
nTotale3 = 0
nTotale4 = 0
Call Scrivi("Pres in Dec : " & StringaNumeri(aNum,,True),True)
Call Scrivi
Call CreaTabella
Next
Else
If nCicli <= 0 Then
sErr = "Numero di cicli non valido"
End If
If Inizio <= 0 Then
sErr = "Troppi cicli rispetto alle estrazioni del range"
End If
If idDecina <= 0 Then
sErr = "Nessuna decina selezionata"
End If
If TipoArc <= 0 Then
sErr = "Specificare quale archivio 10 e lotto"
End If
MsgBox sErr,vbCritical
End If
End Sub
Function ScegliDecina()
ReDim aVoci(8)
Dim k,i
For k = 1 To 81 Step 10
aVoci(i) = "Decina " & k & " - " & k + 9
i = i + 1
Next
ScegliDecina = ScegliOpzioneMenu(aVoci,0,"Selezione decina") + 1
End Function
Sub AlimentaNumeri(idDecina,aNum)
Dim i,k,y
i =((idDecina - 1) * 10) + 1
For k = i To(i - 1) + 10
y = y + 1
aNum = k
Next
End Sub
Function ScegliArchivio()
ReDim aVoci(1)
aVoci(0) = "Dieci e lotto"
aVoci(1) = "Dieci e lotto 5 min"
ScegliArchivio = ScegliOpzioneMenu(aVoci,0,"Selezione archivio") + 1
End Function
In sostanza il listato conta le presenze della decina nel primo ciclo da 5 estrazioni, nel secondo ciclo sempre cinque estrazioni.
In sostanza il modo giusto sarebbe il primo ciclo da 5 estrazioni, mentre nel semiciclo dovrebbe contare le presenze che si sono avute nelle ultime 3 estrazioni del primo ciclo.
Indipendentemente dallapossibilità di effettuare questa modifica ringrazio comunque della tua disponibilità.
Option Explicit
'Ricerca BiCiclica By Joe Rev 2.1 (su script di LuigiB ?).
Sub Main
Dim TipoArc
Dim nCicli
Dim Inizio,Fine
Dim idEstr
Dim idDecina
Dim sErr
Dim nTotale
Dim nTotale2
Dim nTotale3
Dim nTotale4
Dim CL
ReDim aNum(10)
ReDim aRuote(1)
CL = 5 'SemiciCiclo di 5 Estrazioni
nCicli = Int(InputBox("Inserire il numero dei cicli da " & CL,,3))
TipoArc = ScegliArchivio
Call ImpostaArchivio10ELotto(TipoArc)
Inizio =(EstrazioniArchivioDL -(nCicli * 2 * CL)) + 1
Fine = EstrazioniArchivioDL - CL + 1
If nCicli > 0 And Inizio > 0 And TipoArc > 0 Then
For idDecina = 1 To 9
nTotale = 0
Call AlimentaNumeri(idDecina,aNum)
ReDim aTitoli(5)
aTitoli(1) = " Range (" & CL & "+" & CL & ") Estrazioni."
aTitoli(2) = " Primo "
aTitoli(3) = " Secondo "
aTitoli(4) = " Totali "
aTitoli(5) = " Ultimo Diff tra ciclo e semiciclo "
Call InitTabella(aTitoli)
For idEstr = Inizio To Fine Step 2 * CL
ReDim aValori(5)
aValori(1) = CStr(idEstr) & "-" & CStr(idEstr + CL - 1) & " + " & CStr(idEstr) + CL & "-" & CStr(idEstr + 2 * CL - 1)
aValori(2) = SerieFreqDL(idEstr,idEstr + CL - 1,aNum,1)
aValori(3) = SerieFreqDL(idEstr + CL,idEstr + 2 * CL - 1,aNum,1)
aValori(4) = aValori(2) + aValori(3)
aValori(5) = aValori(3) - aValori(2)
nTotale = nTotale + aValori(5)
nTotale2 = nTotale2 + CLng(aValori(2))
nTotale3 = nTotale3 + CLng(aValori(3))
nTotale4 = nTotale4 + CLng(aValori(4))
Call AddRigaTabella(aValori)
Next
ReDim aValori(5)
aValori(1) = "T O T A L I"
aValori(2) = nTotale2
aValori(3) = nTotale3
aValori(4) = nTotale4
aValori(5) = nTotale
Call AddRigaTabella(aValori,vbYellow)
nTotale2 = 0
nTotale3 = 0
nTotale4 = 0
Call Scrivi("Pres in Dec : " & StringaNumeri(aNum,,True),True)
Call Scrivi
Call CreaTabella
Next
Else
If nCicli <= 0 Then
sErr = "Numero di cicli non valido"
End If
If Inizio <= 0 Then
sErr = "Troppi cicli rispetto alle estrazioni del range"
End If
If idDecina <= 0 Then
sErr = "Nessuna decina selezionata"
End If
If TipoArc <= 0 Then
sErr = "Specificare quale archivio 10 e lotto"
End If
MsgBox sErr,vbCritical
End If
End Sub
Function ScegliDecina()
ReDim aVoci(8)
Dim k,i
For k = 1 To 81 Step 10
aVoci(i) = "Decina " & k & " - " & k + 9
i = i + 1
Next
ScegliDecina = ScegliOpzioneMenu(aVoci,0,"Selezione decina") + 1
End Function
Sub AlimentaNumeri(idDecina,aNum)
Dim i,k,y
i =((idDecina - 1) * 10) + 1
For k = i To(i - 1) + 10
y = y + 1
aNum = k
Next
End Sub
Function ScegliArchivio()
ReDim aVoci(1)
aVoci(0) = "Dieci e lotto"
aVoci(1) = "Dieci e lotto 5 min"
ScegliArchivio = ScegliOpzioneMenu(aVoci,0,"Selezione archivio") + 1
End Function