Ritardi



  • Ritardi
    di Attilio data: 10/06/2017 18:44:57

    Salve ragazzi da quanto tempo!!!...... saranno passati almeno 4 anni dall'ultima mia visita, cmq passo al motivo perché sono qui. Ho fatto in Excel dei ritardi sui numeri del lotto, ambi per intenderci e già qui fatto solo con Excel e abbastanza pesantuccio, vorrei che mi sia fatta anche la ricerca sui ritardi dei terni, quaterne ecc. Come potrei facendo il tutto con istruzioni VBA?........



  • di Vecchio Frac data: 10/06/2017 22:17:55

    Ciao Attilio, mi ricordo di te bentornato :)
    Allega un file di esempio col risultato desiderato.
    Magari prova a stendere un po' di codice così ti aiutiamo a sistemarlo.





  • di Attilio data: 12/06/2017 14:46:43

    Il files è di 38 Mbyte, benché abbia eliminato la maggior parte dell'archivio sono riuscito a ridurlo circa 2,5 Mbyte, se te lo invio in 3 file separati, cioè, primo foglio, secondo foglio e terzo foglio?........penso che dovrebbe essere lo stesso per rendere l'idea, anche se il terzo foglio è tutto in cancelletto di errore perché le pagine sono separate



  • di Attilio data: 12/06/2017 15:22:41

    cmq ho scoperto che il foglio3 è quello che mi occupa molto spazio e fa crescere di molto i Mb del file, ho fatto una prova a fare il copia del foglio, solo delle parti interessate, su di un foglio nuovo e l'intera struttura mi occupa circa 2,5 Mb, vedrò di sistemarlo.......e cmq non posso passarlo, quindi vedi con i 3 fogli separati se riesci a risolvere la cosa. Grazie



  • di Attilio data: 13/06/2017 19:04:14

    Questa è la sub per la ricerca del massimo ritardo di un numero di cui viene fatta richiesta, come potrei per esempio, eseguire la ricerca in automatico di tutti i 49 numeri, riportati mano a mano che si conclude la ricerca di ognuno su di un foglio, per esempio denominato Risultati?
    Incollo la SUB
    Sub cerca()
    Dim cont As Long
    Dim x As Long
    Dim y As Long
    Dim n As Long
    Dim spia As Long
    Dim trov As Boolean

    Cells(2, "N") = ""
    If Cells(2, "M") = "" Or Cells(2, "M") > 49 Then MsgBox "Manca il numero da processare o se c'é si ricorda che la numerazione va dall'1 al 49": Exit Sub
    spia = Cells(2, "M")
    n = 0
    cont = 0
    For x = 2 To Cells(Rows.Count, 3).End(xlUp).Row
    trov = False
    For y = 3 To 9
    If Cells(x, y) = spia Then trov = True: Exit For
    Next y
    n = n + 1
    If trov = True Then
    If cont < n Then cont = n
    n = 0
    End If
    Next x
    Cells(2, "N") = cont - 1
    Cells(2, "M") = spia

    End Sub
    Ma qui il problema grande è, che facendo su di un foglio con formule Excel e non vba la comparazione per esempio (1 e 2) per ritardo max ambo, e così per tutti i numeri e per terni quaterne e cinquine mi viene un foglio almeno di 200 Mb se bastano, io vorrei evitare tale problema, anche perché con la formula: Combinazione(49;2) + combinazione(49;3) + combinazione(49;4) + combinazione(49;5), la somma è orribile!!!



  • di Attilio data: 17/06/2017 20:02:28

    Scusate, ma ho scritto, fatto qualcosa per non ricevere più risposte?..........se si ditemi almeno su cosa, mi sembra strano che non mi abbiate più risposto, io in questo Forum mi sono sempre trovato benissimo, se è per il fatto che non mi sono fatto più sentire, posso spiegare il perché, grazie



  • di Vecchio Frac data: 18/06/2017 18:55:21

    Non preoccuparti, non hai fatto niente, io personalmente ho avuto poco tempo per stare collegato e se l'ho fatto è per dare qualche risposta veloce.
    Probabilmente nessuno ha risposto perchè sono tutti in ferie :) il periodo è quello buono.
    Spero di avere un attimo da dedicarti ma non posso prometterlo pienamente. Tu però abbi pazienza e non perdere fiducia :)





  • di Attilio data: 18/06/2017 23:17:02

    Ok, grazie per la tua risposta esaustiva, è solo che mi rendo conto che è una bella gatta da pelare!!!



  • di Vecchio Frac data: 19/06/2017 10:22:49

    Ho ricostruito il file completo unendo i tre file separati.
    Ora attacco la tua macro e studio lo scenario ^_^





  • di Vecchio Frac data: 19/06/2017 10:29:42

    Comunque ti chiederei una cortesia, fammi un esempio del risultato atteso secondo la tua richiesta: "la sub per la ricerca del massimo ritardo di un numero di cui viene fatta richiesta".
    Dove viene fatta la richiesta? cos'è il massimo ritardo (intuisco ma vorrei la definizione)? vuoi ancora un foglio risultati o ti basta il foglio elaborazione?





  • di Attilio data: 21/06/2017 04:36:32

    Allora vediamo se riesco a farmi capire......quei fogli sono un esempio, il file è composto dal 1° foglio: risultati di 2 numeri per gli ambi, di 3 numeri per i terni, 4 numeri per le quaterne e 5 numeri per le cinquine, naturalmente messi in colonna, Ambi - Terni - Quaterne - Cinquina, nel secondo foglio, c'è l'archivio delle estrazioni, e nel terzo non so se con VBA si possa fare a meno, io spero di si, la ricerca per ritardo degli ambi per esempio il n°1 con il 2 con il 3 con il 4 con il 5 e così via fino al numero 49, finito il n°1, passare al n°2, quindi il 2 con il 3, 4, 5, 6 e così via, lo stesso deve essere effettuato con le altre combinazioni terni: 1 - 2 - 3, 1 - 2 - 4, 1- 2 - 5, fino ad arrivare 47-48-49, e quindi così anche per quaterne e cinquine, quelli che hanno raggiunto il massimo ritardo, devono comparire nel 1° foglio, gli ambi nella colonna ambi, i terni nella colonna terni ecc...vorrei una base, ed al limite se ho problemi o dubbi nella creazione, posso sempre rivolgermi a voi, grazie e speriamo di essere stato esaustivo........che fatica. scusa se nella spiegazione sono stato ripetitivo, per il momento grazie



  • di Vecchio Frac data: 22/06/2017 08:41:01

    Non capisco il senso del foglio3, anche perchè alcune le formule si riferiscono a celle attualmente vuote.





  • di Attilio data: 22/06/2017 14:26:03

    Il Foglio3 è destinato a quello che vorrei evitare di fare con le formule di Excel, che mi occuperebbe una immane quantità di dati, non sarebbe altro che il proseguimento del foglio2, quindi ci sarebbero stati anche altri fogli per esempio calcolo ambi, in un altro calcolo terni ecc... quindi se con il VBA si può fare, non credo che ci servano!!!



  • di Vecchio Frac data: 22/06/2017 16:48:43

    @Attilio
    Non ti ho abbandonato, ma il problema non è di facile soluzione, per quanto sia ben fattibile in VBA.





  • di Vecchio Frac data: 24/06/2017 13:33:34

    Ciao Attilio,
    in questo sabato afosissimo e boccheggiante ti propongo questo primo codice, da far girare sul file di esempio che mi hai passato (per il momento lavora sul foglio ARCHIVIO dove ci sono alcune estrazioni e sul Foglio3, nuovo rispetto al precedente).
    Diciamo che è un test.
    Si occupa di cercare le combinazioni degli AMBI nella tabella di archivio e riporta le estrazioni di ritardo nel foglio3, ordinando per numero di estrazioni dal maggiore al minore. I debug.print sono ovviamente di controllo e non influiscono.
    Prima di andare avanti vorrei una tua opinione ^_^

    ps se qualcuno vuole, posso allegare il file di test.
     
    Option Explicit
    
    Sub massimi_ritardi_VF()
    Dim tabella As Range
    Dim c1 As Range, c2 As Range
    Dim n1 As Integer, n2 As Integer
    Dim i As Integer
    Dim fA As String
    Dim dict As Object
    Dim v As Variant, riga As Range
    Dim s As String, t As String
    
        Sheets("ARCHIVIO").Select
        Set tabella = Range("C2..I21")
        
        Set dict = CreateObject("Scripting.Dictionary")
        
        For n1 = 1 To 48
            For Each riga In tabella.Rows
                If riga.Cells(1) = "" Then Exit For
                v = Application.Transpose(Application.Transpose(riga))
                s = ";" & Join(v, ";") & ";"
                For n2 = n1 + 1 To 49
                    If InStr(s, ";" & n1 & ";") > 0 And InStr(s, ";" & n2 & ";") > 0 Then
                        If n1 = 1 And n2 = 6 Then
                        Debug.Print n1 & "-" & n2 & " found in row " & riga.Row
                        End If
                        t = n1 & "-" & n2
                        If dict.exists(t) Then
                            If riga.Row - dict(t) > dict(t) Then
                                i = dict(t)
                                dict.Remove t
                                dict.Add t, riga.Row - 1 - i
                            End If
                        Else
                            dict.Add t, tabella.Rows.Count - riga.Row + 1
                        End If
                    End If
                Next
            Next
        Next
        Debug.Print "Max dist for 1-6: "; dict("1-6")
        
        Sheets("Foglio3").Activate
        Cells.Clear
        Range("a1") = "n1": Range("b1") = "n2": Range("c1") = "ritardo"
        i = 2
        For Each v In dict
           Cells(i, "A") = Split(v, "-")(0)
           Cells(i, "B") = Split(v, "-")(1)
           Cells(i, "C") = dict(v)
           i = i + 1
        Next
        Range("A1").CurrentRegion.Sort Range("C3"), xlDescending, Header:=xlYes
        
    End Sub
        
    






  • di Attilio data: 25/06/2017 19:28:50

    Ok, faccio le prove dovute e ti faccio sapere, grazie



  • di Attilio data: 26/06/2017 10:12:31

    Allora, ho provato e funziona, ma adesso che ho rinominato i fogli con Foglio3 = RISULTATI, Foglio1 = ARCHIVIO e Foglio2 = RITARDI, ed ho modificato le chiamate dei fogli, mi da come risultato dei ritardi tutti a 9997, visto che le estrazioni complessive sono all'incirca 7000, al limite dovrebbero essere sempre i ritardi a 7000.........io ho modificato la lettura da Range("C2..I21") a Range("C2..I10000"), ma non si potrebbe fare una selezione automatica della lunghezza di lettura man mano che si aggiungono estrazioni, tipo Range("C2..I")?.........molto probabilmente, il fatto che il risultato finale dei ritardi non è veritiero, sicuramente dal fatto che ho rinominato i fogli, visto che il foglio esatto dei ritardi sono calcolati dalla colonna A alla colonna EQ?
    Cmq incollo la mia modifica del codice VBA  
     
    Sub massimi_ritardi_VF()
    Dim tabella As Range
    Dim c1 As Range, c2 As Range
    Dim n1 As Integer, n2 As Integer
    Dim i As Long
    Dim fA As String
    Dim dict As Object
    Dim v As Variant, riga As Range
    Dim s As String, t As String
    
        Sheets("ARCHIVIO").Select
        Set tabella = Range("C2..I10000")
        
        Set dict = CreateObject("Scripting.Dictionary")
        
        For n1 = 1 To 48
            For Each riga In tabella.Rows
                If riga.Cells(1) = "" Then Exit For
                v = Application.Transpose(Application.Transpose(riga))
                s = ";" & Join(v, ";") & ";"
                For n2 = n1 + 1 To 49
                    If InStr(s, ";" & n1 & ";") > 0 And InStr(s, ";" & n2 & ";") > 0 Then
                        If n1 = 1 And n2 = 6 Then
                        Debug.Print n1 & "-" & n2 & " found in row " & riga.Row
                        End If
                        t = n1 & "-" & n2
                        If dict.exists(t) Then
                            If riga.Row - dict(t) > dict(t) Then
                                i = dict(t)
                                dict.Remove t
                                dict.Add t, riga.Row - 1 - i
                            End If
                        Else
                            dict.Add t, tabella.Rows.Count - riga.Row + 1
                        End If
                    End If
                Next
            Next
        Next
        Debug.Print "Max dist for 1-6: "; dict("1-6")
        
        Sheets("RISULTATI").Activate
        Cells.Clear
        Range("a1") = "1° numero": Range("b1") = "2° numero": Range("c1") = "Ritardo"
        i = 2
        For Each v In dict
           Cells(i, "A") = Split(v, "-")(0)
           Cells(i, "B") = Split(v, "-")(1)
           Cells(i, "C") = dict(v)
           i = i + 1
        Next
        Range("A1").CurrentRegion.Sort Range("C3"), xlDescending, Header:=xlYes
        
    End Sub



  • di Vecchio Frac data: 26/06/2017 13:16:37

    Dovrò fare dei test. Rinominare i fogli va benissimo se si mantiene il riferimento nel codice. Il numero di righe non dovrebbe essere influente. Il foglio2 non è contemplato nel codice quindi non ci interessa. Grazie per il riscontro





  • di Attilio data: 26/06/2017 22:53:05

    Quindi il foglio dei ritardi si può eliminare?



  • di Vecchio Frac data: 26/06/2017 23:36:59

    Finirà tutto nel foglio dei risultati no? E' il senso della intera procedura mi sembra (eliminare il foglio con le formule).





  • di Attilio data: 26/06/2017 23:48:34

    Scusami ma il foglio2 non è quello dove c'è la conta dei ritardi dei numeri?........basterebbero i 2 fogli uno "ARCHIVIO" e l'altro "RISULTATI"......ok...ok...ok....capito, il foglio delle formule si infatti



  • di Vecchio Frac data: 27/06/2017 09:09:42

    Pensavo di eliminare il fogliaccio delle formule e sostituirlo con i risultati dell'elaborazione fatta direttamente dal codice. La dimensione finale del file sarà ovviamente molto inferiore senza le formule.
    La formattazione del foglio dei risultati poi può essere fatta in un secondo tempo ma la struttura sarà:
    1° numero - 2° numero - Ritardo (per gli ambi)
    1° numero - 2° numero - 3° numero - Ritardo (per i terni)
    1° numero - 2° numero - 3° numero - 4° numero - Ritardo (per le quaterne)
    1° numero - 2° numero - 3° numero - 4° numero - 5° numero - Ritardo (per le cinquine)

    Per selezionare automaticamente la tabella delle estrazioni ti basta la modifica iniziale al codice come ti propongo qui sotto. I risultati erano sballati perchè viene tenuto conto proprio della dimensione della tabella delle estrazioni (della sua riga finale quindi).
     
    Dim ur As Long    '<<<< aggiungi
    
        Sheets("ARCHIVIO").Select    '<<<< invariato
        ur = Cells(Rows.Count, "A").End(xlUp).Row      '<<<< aggiungi
        Set tabella = Range("C2..I" & ur)     '<<<< modifica
    






  • di Vecchio Frac data: 27/06/2017 09:41:37

    La mia soluzione finale, ricavata dall'algoritmo precedente e applicato fino alla ricerca delle cinquine, è pronta e funziona, ma è improponibile: per le sole venti estrazioni di esempio ci mette oltre due minuti e mezzo a completare la ricerca. Per venti estrazioni di prova registro un tempo di quasi quattro minuti. Esponenziale quindi e temo che con 7000 estrazioni la cosa sia davvero ingestibile.
    Se vuoi allego il codice completo. Posso studiare un'alternativa ma non so quanto tempo mi serve.





  • di Vecchio Frac data: 27/06/2017 11:17:47

    Domanda col dubbio: ma a te interessa il massimo ritardo (di ogni ambo, terno, ecc.) registrato nell'intera storia delle estrazioni o soltanto il massimo ritardo rispetto all'ultima estrazione? Perchè sono due cose diverse :)





  • di Attilio data: 27/06/2017 14:25:54

    ho capito, ma il ritardo deve essere sul massimo ritardo nell'intera storia delle estrazioni , per quanto riguarda il tempo di elaborazione, non ti preoccupare, pensa ne ho uno del lotto italiano che ho modificato per questo lotto e fa la ricerca sul numero Spia impiega circa 1 ora per darmi i risultati.....per quanto riguarda la tabella dei risultati, hai colto nel segno, deve essere proprio così, una cosa volevo dirti, nella tabella finale dove compaiono gli ambi - terni ecc...ecc..., va bene, ma in un foglio che poi sarà quello principale, dovrebbero comparire solo le combinazioni, che hanno raggiunto il ritardo, o stanno per raggiungere con uno scarto di -5 sul ritardo massimo.....spero di essermi spiegato...grazie per la tua pazienza e gentilezza, ciao



  • di Vecchio Frac data: 27/06/2017 15:31:21

    cit. "il ritardo deve essere sul massimo ritardo nell'intera storia delle estrazioni"
    ---> Ok

    cit. " il tempo di elaborazione"
    ---> Uhm, forse ci vorrà anche più di un'ora :)

    cit. "dovrebbero comparire solo le combinazioni, che hanno raggiunto il ritardo, o stanno per raggiungere con uno scarto di -5 sul ritardo"
    ---> Infatti a questa avevo già pensato.

    Magari allego il file completo.





  • di Vecchio Frac data: 27/06/2017 16:28:05

    Allego il file "coppie calcolo storico.xlsm".
    C'è una macro di test che non ho tolto perchè voglio vedere se e come riesco a velocizzare la faccenda. La macro da eseguire è naturalmente la sub "massimi_ritardi_VF".





  • di Attilio data: 27/06/2017 20:33:02

    Ok verifico e ti faccio sapere.........grazie e ciao



  • di Attilio data: 27/06/2017 22:07:00

    Avevo scritto qualcosa, ma ho sbagliato a fare la prova, sono assopito, scusa, sto facendo or ora il test, ti farò sapere come è andata, ciao e scusami



  • di Vecchio Frac data: 27/06/2017 22:25:58

    Dunque dai n'occhiata al codice, mi pare che per cominciare a fare le verifiche ho disattivato le ricerche su terni e quaterni etc per non appesantire l'elaborazione, ma del resto in queste prove dobbiamo fermarci a capire il concetto, che dopo quest spiegazione non mi è più molto chiaro ^_^
    Facciamo così, con calma perchè ormai chiudo, sulla tabella delle venti estrazioni del nostro file di esempio mostrami il risultato esatto che vuoi che compaia nei risultati (fai qualche esempio significativo con qualche ambo e terno) così capisco cosa intendi per ritardo, ritardo massimo, ritardo attuale.
    Comunque è vero, ho fatto qualche test a mente e per esempio il 6-12, estratto nella prima estrazione e nell'ultima, il risultato del codice non è corretto. Però sono fiducioso che risolveremo :)





  • di Attilio data: 28/06/2017 04:42:48

    Buongiorno, ieri sera ho fatto girare la macro per l'elaborazione dei soli ambi, come hai spiegato tu, che la ricerca superiore all'ambo non è abilitata, questa mattina la macro era ancora in funzione, quindi ho dovuto fermarla con il CTRL + ALT + Canc, mi sembra che sia una esagerazione, io ti mando il foglio con l'intero archivio così puoi renderti conto meglio



  • di Vecchio Frac data: 28/06/2017 08:55:13

    (Hai modificato la tua risposta di ieri sera così la mia ultima di ieri sera non ha più molto senso per chi legge oggi )

    Avere in mano nuovi dati non è importante, andavano bene gli altri, a me interessa sapere come devo interpretare le definizioni: ritardo, ritardo massimo, ritardo attuale. Fammi per cortesia un esempio concreto guardando una delle due tabelle di esempio che hai fatto. Restando su quella vecchia, per dire, l'ambo 6-12 è stato estratto alla prima estrazione poi alla ventesima, il ritardo massimo è 18 estrazioni (?), il ritardo attuale è zero estrazioni (?). Così ho dei termini di riferimento certi secondo la tua richiesta.
    Alla fine accetto birre anche in casse da dodici





  • di Attilio data: 28/06/2017 10:07:41

    Scusa per la cancellazione, ma è stata quasi immediata, non credevo che mi spiavi , cmq per RITARDO MASSIMO si intende, di quanto è stato il ritardo più lungo della ripetizione del 6 - 12 per esempio, in tutto l'arco delle estrazioni, mentre per il ritardo attuale, viene considerato il numero da quando si è verificata l'ultima volta la coppia 6 - 12 fino all'ultima estrazione. Mamma ho scritto ma non ho capito granché, speriamo che lo comprenda tu



  • di Vecchio Frac data: 28/06/2017 10:21:31

    LOL, non ti stavo spiando e del resto hai scritto alle quattro del mattino ^_^
    Diciamo che mi hai dato una dritta più che discreta. Quindi hai bisogno anche di recuperare due informazioni: il ritardo massimo (nella vista dell'intera corpo di estrazioni) e quello rispetto all'ultima estrazione. Dimmi solo se l'estrazioni iniziale e finale si conteggiano (quindi rimani su 6-12 : dimmi il ritardo massimo e quello attuale, rispetto alla tabella di venti estrazioni: per me è rispettivamente 18 e zero perchè non conteggio gli estremi, ma forse non è così che vuoi).
    Intanto sto lavorando per affinare il codice che come hai visto richiede un tempo di elaborazione insopportabile.





  • di Attilio data: 28/06/2017 12:20:00

    Di solito la notte vivo, verso l'alba mi corico e mi sveglio verso le 9 o 10. Come vedi dormo molto poco, ma è dalla nascita che sono così. Mia madre mi diceva sempre Attilio, stai sempre con gli occhi aperti, con i tempi che corrono...... torniamo a noi, il ritardo massimo è giusto, viene rilevato dalla prima estrazione all'ultima (e qui ci siamo), poi calcolare il ritardo Attuale, che viene calcolato prendendo l'ultima volta che è sortito fino all'ultima estrazione, cosa vuoi dire con: non conteggio gli estremi?.......cmq quantunque tu voglia ridurre i tempi di elaborazione, mi sembra un ardua impresa, nulla togliere alle tue capacità s'intende. Infatti per quanto riguarda i valori da te scritti mi riferisco a 18 e 0, sono esatti, quindi per la previsione che deve comparire in tabella, se il ritardo massimo è 18 e immaginiamo che la coppia in questione si trova a -3, allora e qui che deve scattare la vista in tabella nel foglio elaborazione .Ciao




  • di Vecchio Frac data: 28/06/2017 19:01:04

    Ho una nuova versione del file, ripulita e ottimizzata. Diciamo che adesso i tempi mi soddisfano, certo bisogna verificare la bontà dei risultati e qui mi servi tu, visto che stai sempre con gli occhi aperti ^_^
    Allego "coppie calcolo storico 2.xlsm" (pulsante con macro nel foglio "ARCHIVIO", parti da lì; ho bensì inserito l'archivio completo nel foglio ARCHIVIO2 ma lo testeremo quando i risultati saranno giusti).





  • di Attilio data: 28/06/2017 22:36:52

    Ok, farò il possibile per sondare il nuovo file, qualsiasi novità ci sia, ti metterò subito al corrente, intanto sempre un Grazie Miracolato +



  • di Attilio data: 29/06/2017 09:01:54

    Buongiorno.....fatto controllo seguendo le tue indicazioni, per semplificare ancora di più ho ridotto le estrazioni a 10, quindi per quanto riguarda la rapidità di elaborazione non ancora si può verificare, a me sembra che per il momento faccia solo il calcolo sui ritardi massimi, penso, correggimi se sbaglio, nel foglio risultati, accanto a ritardo max dovresti elencare anche il ritardo attuale e così facendo, tramite questi 2 parametri individuare le combinazioni che possono essere, se rispettano le condizioni, trasferite nel foglio "elaborazione", cioè nella tabella



  • di Vecchio Frac data: 30/06/2017 15:42:43

    Allego una nuova versione: "coppie calcolo storico 3.xlsm" che contempla il calcolo dei ritardi attuali.
    Da testare.





  • di Attilio data: 01/07/2017 04:55:50

    dopo verifica sull'archivio minimo, tutto ok, poi sempre nello stesso archivio ho inserito 500 colonne e dopo verifica, nel foglio dove vengono riportati ritardi massimi e ritardi attuali, non ci sono ambi!!!....poi ho portato ancora nell'archivio le estrazioni a 3000 colonne....e non compaiono ne ambi e ne terni...puoi verificare il perché?......cmq farò prova con tutte le estrazioni e vediamo cosa succede, aspetta resoconto



  • di Attilio data: 01/07/2017 05:44:14

    C'è sicuramente qualcosa che non funziona.......su oltre 7000 estrazioni, a parte che nel foglio RISULTATI, non compaiono ne ambi e ne terni, ma mi sembra strano che compare una lista di appena 62 quaterne e 121 cinquine, quando la verifica dovrebbe avvenire su tutte le combinazioni delle oltre 7000 estrazioni, quindi ci dovrebbero essere una quantità enorme di combinazioni, gli ambi più dei terni quaterne e cinquine.....i terni superiori a quaterne e cinquine e le quaterne superiori alle cinquine. Ti riferisco che il tempo di elaborazione quantunque tu lo abbia ridotto, mi sembra troppo rapido, sul totale delle estrazioni ci mette meno di 1/4 d'ora, possibile!!!........considerando per esempio la quantità di ambi che si verificano in una estrazione (combinazione(7;2), che poi dovrebbero essere moltiplicate per la quantità delle estrazioni totali e considerando che molti ambi si ripetono, il numero degli ambi sul foglio RISULTATI, dovrebbero essere almeno o all'incirca 140.000 combinazioni di ambi, e così per terni, quaterne e cinquine, sbaglio a fare queste ipotesi?.......ti ho inviato il files rinominato 3Bis



  • di Vecchio Frac data: 01/07/2017 08:59:12

    Tieni conto, se hai esaminato il codice, che c'è una limitazione che ho imposto per test, altrimenti ci metteva sicuramente troppo, nel punto in cui chiedo di restituire solo i primi risultati. In show_results la riga:
    If tbrows - dict(v)(1) <= 3 Then    '<<< indicare qui il numero dei primi massimi ritardi da mostrare
    e il successivo End If devono essere commentati per avere tutti i risultati.
    Io ho rilanciato la macro e mi elabora correttamente ambi e terni se chiedo solo ambi e terni nell'userform quindi non capisco perchè a te non succeda.
    Veramente mi sembra curioso.
    In ogni caso continuo a metterci mano e adesso proverò a pescare da un archivio più corposo. Guarderò anche il tuo nuovo file.
    Comunque sto andando ancora un po' alla cieca perchè non so se sto andando nella direzione da te voluta.






  • di Attilio data: 01/07/2017 09:25:06

    io non sono andato a leggere il codice...onde provocare errori, penso che la differenza che c'è tra quello che io vorrei a quello che il file elabora, anche se penso che il risultato dovrebbe essere lo stesso, è che tu fai fare la ricerca nelle combinazioni di numeri che man mano si creano estrazione per estrazione, e ne verifica quando gli ambi, terni, quaterne e cinquina si riverificano, (almeno a me sembra così, poi può anche darsi che sbaglio), ma va bene così lo stesso, tranquillo.



  • di Vecchio Frac data: 03/07/2017 11:04:07

    Vai pure a leggere il codice, per capire come funziona, non puoi creare errori se leggi qualche istruzione ^_^
    Anche perchè sto entrando in un periodo di lavoro e non posso garantire continuità.
    Il mio codice (come hai detto tu) cerca tutte le combinazioni dei numeri e se le trova, per ognuna, ne calcola il ritardo tra ogni estrazione. Per il ritardo attuale, sto implementando la modifica.
    Se non è così che deve essere, fammi sapere.






  • di Attilio data: 03/07/2017 12:27:07

    Stai tranquillo, il lavoro prima di tutto, io non muoio, almeno spero, voglio dire che non c'è nessuna fretta, prendi tutto il tempo che ti serve.....darò un'occhiata al codice, vediamo se capisco qualcosa.......grazie



  • di Oscar (utente non iscritto) data: 12/07/2017 00:16:04

    Salve ragazzi da quanto tempo!!!...... saranno passati almeno 4 anni dall'ultima mia visita, cmq passo al motivo perché sono qui. Ho fatto in Excel dei ritardi sui numeri del lotto, ambi per intenderci e già qui fatto solo con Excel e abbastanza pesantuccio, vorrei che mi sia fatta anche la ricerca sui ritardi dei terni, quaterne ecc. Come potrei facendo il tutto con istruzioni VBA?........

    Scusa ma che senso ha una ricerca ritardi in Terne , quando hai un'archivio storico meno di 6000 estrazioni , mentre lo sviluppo delle Terne sono 117480 combinazioni, tutto ciò significa che ci sono 111.000 Terni che non sono mai uisciti , al limite si può tentare sui terni più frequenti .

    Ciao a tutti Oscar



  • di Attilio data: 13/07/2017 15:44:16

    scusami, ma i tuoi dati non mi sembra siano esatti, cmq ognuno è libero di esprimere la propria opinione........ciao



  • di Vecchio Frac data: 13/07/2017 15:48:12

    @Attilio, riprendendo il discorso, l'ultima versione andava bene o no? Dava i risultati attesi o no?





  • di Attilio data: 13/07/2017 15:54:18

    Senti, a me funziona solo il file denominato coppie calcolo storico 2, il 3 mi da solo valori di quaterna e cinquina, se alla maschera, contrassegno solo ambi, non mi da nessun risultato, mi puoi rimandare il file che usi tu, per piacere, io quelli che sono li in alto li ho scaricati per ben 2 volte, senza avere nessun risultato, scusami, io non voglio darti fastidio più di tanto, ma nel codice non è che abbia capito più di tanto, se puoi fare su ogni rigo una descrizione sommaria, te ne sarei veramente grato, altro che BIRRA!!!



  • di Vecchio Frac data: 13/07/2017 16:06:59

    Il file lo riallego ma per la spiegazione mi serve più tempo ;)





  • di Oscar (utente non iscritto) data: 13/07/2017 16:09:47

    Ciao Attilio si certo i dati che ho messo non sono reali perchè ogni estrazione da origine a 10 Terne , e moltiplicato per tutte le estrazioni si arriva ad un massimo di 70.000 terne più quelle ripetute , ma quelle non contiamole , quindi restano scoperte ancora oltre 50.000 Terne con un ritardo di 5800 estrazioni , ma ci sono programmi gratis in giro che calcolano tutte le terne uscite ,calcolando la frequenza e il ritardo , ma per quanto riguarda l'intero sviluppo per il momento è pratimante impossibile da eseguire
    Ciao Oscar



  • di Vecchio Frac data: 13/07/2017 16:13:19

    @Oscar,
    Questo problema però non riguarda l'elaborazione del massimo ritardo tra uscite o del calcolo del ritardo dall'ultima estrazione, che è l'oggetto della richiesta di Attilio.
    Oppure, non dico di no, sono io che non ho capito un tubo di tutta la richiesta :)





  • di Attilio data: 13/07/2017 16:22:28

    Scusami, ma ti riferisci al LOTTO ITALIANO?



  • di Attilio data: 13/07/2017 16:35:00

    Guarda io ho provato il file su tutta la serie delle estrazioni, e pare che funzioni, io non volevo affatto creare polemiche, sulle estrazioni del lotto italiano so l'esistenza dei programmi che oscar ha menzionato e che di questo lotto che non esistono ed il ritardo massimo di un terno di qualsiasi combinazione non supera i 400 circa come ritardo massimo e circa 5000 sulle cinquine, cmq ritornando a noi, va bene quello che il programma fa, adesso, per esempio nella finestra dove si sceglie quale ricerca fare se ambi, terni quaterne o cinquina, o tutte e 4 le combinazioni, sempre se si può realizzare, bisognerebbe che ci sia una finestra dove indicare per esempio, il numero di differenza che intercorre dal ritardo massimo a quello attuale, se per esempio una combinazione ha come ritardo massimo 10000 ed io voglio far apparire nel primo foglio (mi riferisco al Foglio ELABORAZIONE) tutte le combinazioni che hanno differenza 100, (sarebbe 10000 il massimo ritardo - 9900 ritardo attuale), devono comparire in quel foglio, scusa la ripetitività, spero di essermi spiegato bene se no chiedi quello che non ho spiegato bene e proverò di nuovo...



  • di Vecchio Frac data: 13/07/2017 17:06:06

    Credo di aver capito e appena posso mi ci metto.





  • di Attilio data: 13/07/2017 18:57:11

    Ok.....grazie



  • di Attilio data: 24/07/2017 07:53:40

    Ciao...senti ho fatto delle verifiche sui ritardi massimi e sui ritardi attuali, i risultati non sono esatti, puoi verificare?.........se vuoi ti mando un file per vedere i ritardi attuali e massimi



  • di Vecchio Frac data: 24/07/2017 13:45:06

    Ciao @Attilio certo, manda pure un estratto con i risultati attesi.





  • di Attilio data: 24/07/2017 18:12:00

    ho inviato il file, però tieni presente che ho limato le estrazioni che arrivano fino a 4000, quindi per vericare, devi mettere l'archivio del programma che stai realizzando allo stesso numero di estrazioni, io per verificare, ho preso i primi 2 numeri per esempio dell'ambo, nella prima riga e ho digitato quei numeri sul foglio1 del file che ti ho mandato, è li ho notato che i risultati dei ritardi minimi e massimi sono errati, spero di sbagliare.......cmq grazie per la pazienza