Novità

richiesta script per frequenze

ppaaoolloo

Super Member >PLATINUM<
ciao a tutti
vorrei provare uno script che conti le presenze,
ma non una sola ma almeno 5.

mi spiego meglio
lo script che dovrebbe essere in excel
per poter incolonnare i numeri come preferisco,
dovrebbe darmi la possibilità di inserire io il numero
delle estrazioni da inserire, e di fianco ai numeri poter
avere la loro frequenza di "x" frequenza che desidererei
scegliere io, poter avere la possibilità di poter mettere
io 5 volte x frequenza

faccio un esempio inventato

numero freq. 10 estr. - freq. 50 estr. - freq. 70 estr. - freq. 100 estr. - freq. 150 estr.

1 0 2 4 9 11
2 1 2 7 11 15

ecc. ecc.

altre volte potrebbe essere che cambio ad esempio:

numero freq. 5 estr. - freq. 10 estr. - freq. 20 estr. - freq. 30 estr. - freq. 50 estr.

1 1 2 5 10 14
2 2 4 9 13 20

ecc. ecc.


ringrazio anticipatamente per la vostra sempre gentile e cordiale collaborazione

ciao
 
ciao
purtroppo ancora nessuno è riuscito a farmi questo script,
sicuramente siete tutti impegnati come me per fare le visite
ai vari cimiteri in questi giorni.

penso che non sia molto difficile fare questo script
dove chiedo praticamente 5 tipi di frequenza con dati inseriti da me

vi auguro buona festa di tutti i santi e buona domenica

ciao
 
Purtroppo è cosi ,in questi giorni il pensiero primario è rivolto ai nostri cari che non ci sono più.

Lo script come vedi è semplicissimo, fammi aggiungere una considerazione(che in questo caso non riguarda te), a volte manca la voglia dello scripter a fare lo stesso script
1 - perché sono sempre le stesse cose
2 - perché molte volte manca la finalità di utilizzo.

Gli script personali è giusto che ci siano ma poi bisogna anche condividere e scambiare anche l'idea.

Comunque eccoti lo script è abbastanza gestibile per il tuo scopo e con la tabella Ordinabile puoi anche trasportatrlo in Excel.


Ciao

Codice:
Sub Main

Dim Nu(1),Ru(1),T,V

r = InputBox("QUALE RUOTA",,1)

range1 = CInt(InputBox("1° blocco estrazioni",,5))

range2 = CInt(InputBox("1° blocco estrazioni",,10))

range3 = CInt(InputBox("1° blocco estrazioni",,20))

range4 = CInt(InputBox("1° blocco estrazioni",,50))

range5 = CInt(InputBox("1° blocco estrazioni",,100))

Ini = EstrazioneFin - range5

fin = EstrazioneFin

Scrivi "Ruota Analizzata : " & NomeRuota(r) & " - su Estrazioni... " & range5,1,,,1,3,,1

Scrivi

Ru(1) = r

T = Array(T,"Numero","Freq : " & range1,"Freq : " & range2,"Freq : " & range3,"Freq : " & range4,"Freq : " & range5)

Call InitTabella(T)

For x = 1 To 90

Nu(1) = x

sf1 = SerieFreq(Ini,Ini + range1,Nu,Ru,1)

sf2 = SerieFreq(Ini,Ini + range2,Nu,Ru,1)

sf3 = SerieFreq(Ini,Ini + range3,Nu,Ru,1)

sf4 = SerieFreq(Ini,Ini + range4,Nu,Ru,1)

sf5 = SerieFreq(Ini,Ini + range5,Nu,Ru,1)

V = Array(V,StringaNumeri(Nu),sf1,sf2,sf3,sf4,sf5)

Call AddRigaTabella(V)

Next

Call CreaTabellaOrdinabile

End Sub
 
Scusate l'intromissione , mi rivolgo a Mike potresti fare una similia di questo script con le frequenze riferite a cicli di 9 (per un totale di 90 estr) ma non cumulativi come qui ... quando ti pare e se ti pare :D
 
Ultima modifica:
Scusate l'intromissione , mi rivolgo a Mike potresti fare una similia di questo script con le frequenze riferite a cicli di 9 (per un totale di 90 estr) ma non cumulativi come qui ... quando ti pare e se ti pare :D

Ciao Fill, non è difficile automatizzare i cicli, ma comporta tutta una serie di ragionamenti logici che adesso purtroppo al volo non riesco ad inserire,

Tuttavia l'amico I legend aveva già postato uno script che ragionasse per cicli e visto che sei a scuola da Luigi , forse ti conviene farlo tuo e carpirne il metodo di impostazione.

Come sai ci vuole applicazione per raggiungere un livello fai da te accettabile, ma caparbietà ed un minimo di voglia si riesce a fare.

Ti posso per il momento allegare lo script che ragiona per cicli se hai bisogno sia io che lo stesso i legend possiamo cercare di aiutarti.

Ciao.

Codice:
Option Explicit

Sub Main

'Script Frequenze_Combinazioni nei cicli su richiesta :-)

' controllare evenuali bugs

'controllare le formule che ho utilizzato per calcolare l' inizio e fine ricerca se sono corrette potrei aver sbagliato,la testa fuma

'Se i riscontri statisci dovessero essere errati comunicarli per correggere il problema se possibile

Dim nCicli,LenCicli,Inizio,Fine

Dim idEstr,idesito,idComb

Dim I,j

Dim nColTot,sNum

Dim iPresenze,iNegativi

ReDim aNum(0),aRuote(0)

ReDim aCicli(0),aTitoli(0)

If ImpostaParametri(LenCicli,nCicli,aRuote,aNum,idComb,idesito,Inizio,Fine) = False Then

MsgBox "I Parametri inseriti sono ERRATI",vbCritical

Exit Sub

End If

Call Get_aTitoli(nCicli,LenCicli,Inizio,Fine,aCicli,aTitoli)

Call InitTabella(aTitoli)

Call GetIntestazione(nCicli,LenCicli,aNum,idComb,idesito,aRuote)

I = 0

nColTot = InitSviluppoIntegrale(aNum,idComb)

Do While GetCombSviluppo(aNum)

I = I + 1

Messaggio "Elaborazione in corso id sviluppo: " & I

AvanzamentoElab 1,nColTot,I

If ScriptInterrotto Then Exit Do

sNum = StringaNumeri(aNum,,True)

ReDim aRis(2)

Call alimentaArrayTab(aRis,I,sNum,nCicli,LenCicli,Inizio,Fine,aCicli,aNum,aRuote,idesito)

Call AddRigaTabella(aRis)

For j = 1 To nCicli

If aRis(j + 2) = 0 Then Call SetColoreCella(CInt(j + 2),RGB(255,243,204)) : Else Call SetColoreCella(CInt(j + 2),RGB(222,251,170))

Next

Loop

Call CreaTabellaOrdinabile

End Sub

Sub Get_aTitoli(nCicli,LenCicli,Inizio,Fine,aCicli,aTitoli)

Dim idEstr,m,i,j,n,k

ReDim aTitoli(2)

ReDim aCicli(0)

m = 0

For idEstr = Inizio To Fine Step LenCicli

m = m + 1

ReDim Preserve aCicli(m)

aCicli(m) = CStr(idEstr) & " - " & CStr(idEstr +(LenCicli - 1))

Next

aTitoli(1) = "IdComb"

aTitoli(2) = "aNumeri"

n = 2

For j = 1 To UBound(aCicli)

n = n + 1

ReDim Preserve aTitoli(n)

aTitoli(n) = aCicli(j)

Next

ReDim Preserve aTitoli(n + 5)

aTitoli(n + 1) = "Frequenze"

aTitoli(n + 2) = "Presenze"

aTitoli(n + 3) = "Assenze"

aTitoli(n + 4) = " Ritardo "

aTitoli(n + 5) = " RitMax "

End Sub

Sub alimentaArrayTab(aRis,idComb,sNum,nCicli,LenCicli,Inizio,Fine,aCicli,aNum,aRuote,idEsito)

Dim n,idEstr,Inegativi,iPresenze,iFrequenze

aRis(1) = idComb

aRis(2) = sNum

n = 2

Inegativi = 0

iPresenze = 0

For idEstr = Inizio To Fine Step LenCicli

n = n + 1

ReDim Preserve aRis(n)

ReDim Preserve rit(1)

ReDim Preserve sto(1)

'ReDim Preserve RRel(1)

aRis(n) = SerieFreqTurbo(idEstr,idEstr +(LenCicli - 1),aNum,aRuote,idEsito)

rit(1) = SerieRitardoTurbo(EstrazioneIni,EstrazioneFin,aNum,aRuote,idEsito)

sto(1) = SerieStoricoTurbo(EstrazioneFin - 180,EstrazioneFin,aNum,aRuote,idEsito)

'RRel(1) = RitPos(sNum,1,idEstr)

If CLng(aRis(n)) = 0 Then

Inegativi = Inegativi + 1

Else

iFrequenze = iFrequenze + CLng(aRis(n))

iPresenze = iPresenze + 1

End If

Next

ReDim Preserve aRis(n + 5)

aRis(n + 1) = iFrequenze

aRis(n + 2) = iPresenze

aRis(n + 3) = Inegativi

aRis(n + 4) = rit(1)

aRis(n + 5) = sto(1)

End Sub

Sub GetIntestazione(nCicli,LenCicli,aNum,idComb,idEsito,aRuote)

Call Scrivi("Il gioco è vietato ai minori di anni 18,e, può comportare grave dipendenza Patologica")

Call Scrivi("Verificare sempre anche da altre fonti che l'output restituito dallo script risulti corretto")

Call Scrivi

Call Scrivi

Call Scrivi("Inizio Analisi :")

Call Scrivi("Numero Cicli analizzati : " & nCicli)

Call Scrivi("Lunghezza Cicli : " & LenCicli)

Call Scrivi("Array Numeri : " & StringaNumeri(aNum,,True))

Call Scrivi("Sviluppoc Comb. : " & NomeCombinazione(idComb))

Call Scrivi("Sorte Analizzata : " & NomeEsito(idEsito))

Call Scrivi("Ruote analizzate : " & StringaRuote(aRuote,True))

Call Scrivi

End Sub

Function ImpostaParametri(LenCicli,nCicli,aRuote,aNum,idComb,idEsito,Inizio,Fine)

Dim bRet

LenCicli = CInt(InputBox("Inserire la lunghezza dei cicli ",,18))

If LenCicli > 0 Then

nCicli = CInt(InputBox("Inserire il numero dei cicli da " & LenCicli,,10))

If nCicli > 0 Then

ScegliRuote(aRuote)

If UBound(aRuote) > 0 Then

ScegliNumeri(aNum)

If UBound(aNum) > 0 Then

idComb = ScegliCombinazione

If UBound(aNum) >= idComb And idComb > 0 Then

idEsito = SelEsito

If idComb >= idEsito And idEsito > 0 Then

Inizio =(EstrazioneFin -(nCicli * LenCicli)) + 1

If Inizio >= 1 Then

Fine = EstrazioneFin -(LenCicli - 1)

If Fine <= EstrazioneFin Then

bRet = True

End If

End If

End If

End If

End If

End If

End If

End If

ImpostaParametri = bRet

End Function

Function NomeCombinazione(a)

Dim aVoci

aVoci = Array("","Estratti","Ambi","Terzine","Quartine","Cinquine","Sestine","Settine","Ottine","Novine","Decine","Undicine","Dodicine","Tredicine","Quattordicine","Quindicine")

NomeCombinazione = aVoci(a)

End Function

Function ScegliCombinazione

Dim ret

Dim aVoci

aVoci = Array("","Estratti","Ambi","Terzine","Quartine","Cinquine","Sestine","Settine","Ottine","Novine","Decine","Undicine","Dodicine","Tredicine","Quattordicine","Quindicine")

ret = ScegliOpzioneMenu(aVoci,1," Combina i numeri In :")

ScegliCombinazione = ret

End Function

Function SelEsito

Dim ret

Dim aVoci

aVoci = Array("","Estratto","Ambo","Terno","Quaterna","Cinquina")

ret = ScegliOpzioneMenu(aVoci,1," Analesi per Sorte di : ")

SelEsito = ret

End Function

Function NomeEsito(a)

Dim aVoci

aVoci = Array("","Estratto","Ambo","Terno","Quaterna","Cinquina")

NomeEsito = aVoci(a)

End Function
 
Ciao a tutti :)
In questo script si vede che avevo appena imparato il Redim preserve.
Non si se sia corretto verificate sempre però.
Ciao :)
 
grazie Mike ..eh questo script mi ci vorrà del tempo per digerirlo:o

Fill, jn questo altro script, il conteggio cicli è molto semplice, infatti stabilisci i cicli e fai un for delle estrazioni con lo step cicli.

Tutto serve per apprendere.

Codice:
Option Explicit

Sub Main

Dim Ruota

Dim nCicli

Dim Inizio,Fine

Dim idEstr

Dim idDecina

Dim sErr

Dim nTotale

ReDim aNum(1)

ReDim aRuote(1)

Dim Numero

Ruota = ScegliRuota

nCicli = Int(InputBox("Inserire il numero dei cicli da 18",,10))

Inizio =(EstrazioneFin -(nCicli * 18)) + 1

Fine = EstrazioneFin - 17

If nCicli > 0 And Inizio > 0 And Ruota > 0 Then

aRuote(1) = Ruota

For Numero = 1 To 90

nTotale = 0

aNum(1) = Numero

ReDim aTitoli(2)

aTitoli(1) = " Range "

aTitoli(2) = " Frequenza "

Call InitTabella(aTitoli)

For idEstr = Inizio To Fine Step 18

ReDim aValori(2)

aValori(1) =(idEstr) & " - " &(idEstr + 17)

aValori(2) = SerieFreq(idEstr,idEstr + 17,aNum,aRuote,1)

nTotale = nTotale +(aValori(2))

Call AddRigaTabella(aValori)

Next

ReDim aValori(2)

aValori(1) = "Totale"

aValori(2) = nTotale

Call AddRigaTabella(aValori,vbYellow)

Call Scrivi("Su " & NomeRuota(Ruota))

Call Scrivi("Numero analizzato " & StringaNumeri(aNum))

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 Ruota <= 0 Then

sErr = "Nessuna ruota selezionata"

End If

MsgBox sErr,vbCritical

End If

End Sub

Ciao I legend, sei diventato proprio e troppo bravo.;)
 
Mike58;n1931464 ha scritto:
Purtroppo è cosi ,in questi giorni il pensiero primario è rivolto ai nostri cari che non ci sono più.

Lo script come vedi è semplicissimo, fammi aggiungere una considerazione(che in questo caso non riguarda te), a volte manca la voglia dello scripter a fare lo stesso script
1 - perché sono sempre le stesse cose
2 - perché molte volte manca la finalità di utilizzo.

Gli script personali è giusto che ci siano ma poi bisogna anche condividere e scambiare anche l'idea.

Comunque eccoti lo script è abbastanza gestibile per il tuo scopo e con la tabella Ordinabile puoi anche trasportatrlo in Excel.


Ciao

Codice:
Sub Main

Dim Nu(1),Ru(1),T,V

r = InputBox("QUALE RUOTA",,1)

range1 = CInt(InputBox("1° blocco estrazioni",,5))

range2 = CInt(InputBox("1° blocco estrazioni",,10))

range3 = CInt(InputBox("1° blocco estrazioni",,20))

range4 = CInt(InputBox("1° blocco estrazioni",,50))

range5 = CInt(InputBox("1° blocco estrazioni",,100))

Ini = EstrazioneFin - range5

fin = EstrazioneFin

Scrivi "Ruota Analizzata : " & NomeRuota(r) & " - su Estrazioni... " & range5,1,,,1,3,,1

Scrivi

Ru(1) = r

T = Array(T,"Numero","Freq : " & range1,"Freq : " & range2,"Freq : " & range3,"Freq : " & range4,"Freq : " & range5)

Call InitTabella(T)

For x = 1 To 90

Nu(1) = x

sf1 = SerieFreq(Ini,Ini + range1,Nu,Ru,1)

sf2 = SerieFreq(Ini,Ini + range2,Nu,Ru,1)

sf3 = SerieFreq(Ini,Ini + range3,Nu,Ru,1)

sf4 = SerieFreq(Ini,Ini + range4,Nu,Ru,1)

sf5 = SerieFreq(Ini,Ini + range5,Nu,Ru,1)

V = Array(V,StringaNumeri(Nu),sf1,sf2,sf3,sf4,sf5)

Call AddRigaTabella(V)

Next

Call CreaTabellaOrdinabile

End Sub



ciao
ho provato con la ruota tutte
e cioè inserendo il numero 11
ma mi sembra che i risultati non corrispondono

potesti dargli un'occhiata per vedere cosa c'è che non va?

ringrazio anticipatamente

ciao
 
ciao
ho provato anche con
statistiche>estratti>frequenze
presente su spaziometria e i dati non coincidono

su spaziometria faccio molta fatica a selezionare per
quante estrazioni fare la statistica se uso un periodo corto
come i 5 o 10 o 20 estrazioni, se luigi potesse intervenire
anche su questo sarebbe davvero per me un regalone,
ma so che non ha molto tempo per queste piccole migliorie

ciao
 
Non saprei a me sembra che i valori che si ottengono siamo corretti, ho provato anche con altro script è tutto combacia.

Ciao
 
ciao
ti faccio alcuni esempi degli errori con la ruota tutte:
il numero 30 con il tuo script con frequenza 5
dice che è uscito una sola volta,
mentre invece nelle ultime 5 estrazioni è uscito
il 10 novembre a palermo (5 estrazioni fa)
ed il 14 novembre a napoli (3 estrazioni fa)
 
il numero 12 con il tuo script con frequenza 5
dice che è uscito una sola volta,

mentre invece nelle ultime 5 estrazioni è uscito
il 17 novembre a firenze (1 estrazioni fa)
ed il 14 novembre a cagliari e firenze (3 estrazioni fa)
il 12 novembre a genova (4 estrazioni fa)
il 10 novembre a genova e torino (5 estrazioni fa)

quindi la frequenza 5 dovrebbe essere di 6 estratti
e non di 1
 
se vuoi ti faccio altri esempi ma non voglio annoiarti

se riesci a riguardarlo te ne sarei grato e lo prenderei
come una favore personale

ti ringrazio sempre per la tua disponibilità e cortesia

ciao
 
ciao
ti faccio alcuni esempi degli errori con la ruota tutte:
il numero 30 con il tuo script con frequenza 5
dice che è uscito una sola volta,
mentre invece nelle ultime 5 estrazioni è uscito
il 10 novembre a palermo (5 estrazioni fa)
ed il 14 novembre a napoli (3 estrazioni fa)

Paolo,attenzione che si rischia di parlare di cose diverse, le prime 5 estrazioni che tu dici si riferiscono nel mio script alle prime 5 estrazioni di 100 ossia 95 estrazioni fà, in quello script ho solo messo la progressione a step di estrazioni e pertanto quando indichi uno step 20 significa
inizio + 20 e non fine - 20.

Se hai bisogno della tipologia diversa si può modificare senza problemi.

Spero di esserti stato di aiuto.

Ciao e non ti arrabbiare.
 
ciao Mike
in effetti ho controllato ed è così come dici tu,
ma non mi serve in questo modo,
quello che vorrei io è una frequenza partendo dall'ultima estrazione,
quindi frequenza 5 per le ultime 5 estrazioni
quindi frequenza 10 per le ultime 10 estrazioni
quindi frequenza 20 per le ultime 20 estrazioni
quindi frequenza 30 per le ultime 30 estrazioni
quindi frequenza 50 per le ultime 50 estrazioni
quindi frequenza 100 per le ultime 100 estrazioni

così lo vorrei consultare io

fammi sapere se puoi farlo così

grazie

ciao
 
ok Paolo basta invertire il Range dei codici di inizio-fine

prova e fammi sapere.

Codice:
Sub Main

Dim Nu(1),Ru(1),T,V

r = InputBox("QUALE RUOTA",,11)

range1 = CInt(InputBox("1° blocco estrazioni",,5))

range2 = CInt(InputBox("1° blocco estrazioni",,10))

range3 = CInt(InputBox("1° blocco estrazioni",,20))

range4 = CInt(InputBox("1° blocco estrazioni",,50))

range5 = CInt(InputBox("1° blocco estrazioni",,100))

Ini = EstrazioneFin - range5

fin = EstrazioneFin

Scrivi "Ruota Analizzata : " & NomeRuota(r) & " - su Estrazioni... " & range5,1,,,1,3,,1

Scrivi

Ru(1) = r

T = Array(T,"Numero","Freq Ultime : " & range1,"Freq Ultime : " & range2,"Freq Ultime : " & range3,"Freq Ultime : " & range4,"Freq Ultime : " & range5)

Call InitTabella(T)

For x = 1 To 90

Nu(1) = x

sf1 = SerieFreq(fin - range1,fin,Nu,Ru,1)

sf2 = SerieFreq(fin - range2,fin,Nu,Ru,1)

sf3 = SerieFreq(fin - range3,fin,Nu,Ru,1)

sf4 = SerieFreq(fin - range4,fin,Nu,Ru,1)

sf5 = SerieFreq(fin - range5,fin,Nu,Ru,1)

V = Array(V,StringaNumeri(Nu),sf1,sf2,sf3,sf4,sf5)

Call AddRigaTabella(V)

Next

Call CreaTabellaOrdinabile

End Sub
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 23 gennaio 2025
    Bari
    86
    50
    83
    38
    78
    Cagliari
    11
    36
    52
    31
    74
    Firenze
    56
    59
    86
    27
    84
    Genova
    03
    61
    53
    11
    38
    Milano
    13
    14
    79
    87
    47
    Napoli
    21
    90
    48
    55
    37
    Palermo
    56
    46
    59
    02
    53
    Roma
    74
    13
    07
    38
    77
    Torino
    27
    54
    62
    36
    81
    Venezia
    09
    14
    69
    28
    62
    Nazionale
    32
    73
    27
    11
    51
    Estrazione Simbolotto
    Bari
    36
    27
    19
    08
    24

Ultimi Messaggi

Indietro
Alto