formula terno



  • formula terno
    di giorgio46 (utente non iscritto) data: 08/07/2016 18:51:07

    Salve,
    cortesemente vorrei la formula o meglio il codice vba che sviluppi in terno i 90 numeri.
    non desidero che lo sviluppo avvenga per le 117.480 celle ma deve solo creare commbinazioni
    nelle tre celle. Il codice deve fermarsi quando 2 celle hanno valore uguale.
    Lo sviluppo in se non ha alcun nesso con queste 2 celle ma solo che si deve tenere presente
    che quando quste 2 celle hanno valore uguale il codice/macro si fermi e con l'avvio riprenda
    dalla combinazione successiva alla ultima.
    Tenere presente che nelle elaborazioni non vi siano 2 numeri ugualli per esempio 2-2-25
    oppure 25-25 30, i numeri fra essi combinati devono essere uno diverso dall'altro.
    i numeri vanno da 1 a 90.
    le celle interessate le combinazioni sono E1-F1-G1 mentre quelle in cui il valore sarà uguale
    fra esse sono E3 e poi C4, tenere presente questo ordine.
    Spero di aver chiarito quanto desidero e ringrazio e il forum per l'accoglienza della
    mia richiesta.
    Cordiali saluti



  • di Vecchio Frac data: 08/07/2016 19:14:27

    Ecco leggi pure qui in particolare la Premessa (a partire della sesta riga).




  • formula terno
    di griorgio46 data: 09/07/2016 18:17:30

    Salve,
    cortesemente vorrei la formula o meglio il codice vba che sviluppi in terno i 90 numeri.
    non desidero che lo sviluppo avvenga per le 117.480 celle ma deve solo creare commbinazioni
    nelle tre celle. Il codice deve fermarsi quando 2 celle hanno valore uguale.
    Lo sviluppo in se non ha alcun nesso con queste 2 celle ma solo che si deve tenere presente
    che quando quste 2 celle hanno valore uguale il codice/macro si fermi e con l'avvio riprenda
    dalla combinazione successiva alla ultima.
    Tenere presente che nelle elaborazioni non vi siano 2 numeri ugualli per esempio 2-2-25
    oppure 25-25 30, i numeri fra essi combinati devono essere uno diverso dall'altro.
    i numeri vanno da 1 a 90.
    le celle interessate le combinazioni sono E1-F1-G1 mentre quelle in cui il valore sarà uguale
    fra esse sono E3 e poi C4, tenere presente questo ordine.
    Spero di aver chiarito quanto desidero e ringrazio e il forum per l'accoglienza della
    mia richiesta.
    Cordiali saluti



  • di griorgio46 data: 09/07/2016 23:00:09


    salve a tutti,

    volevo chiedere se qualuno può rendersi disponibile ad aiutarmi
    in questa richiesta.

    In primo luogo vi è chiaro quanto chiesto?

    Saluti e se possibile una risposta
    Grazie



  • di Oscar (utente non iscritto) data: 11/07/2016 02:31:12

    Difficile capire cosa stai cercando , non potresti spiegarti on po meglio oppure meglio ancora mettere un'esempio di cosa cerchi......



  • di griorgio46 data: 11/07/2016 15:54:08

    Salve,

    in modo molto ma molto semlice chiedo
    che in tre celle si sviluppano le combinazioni di 90 numeri.
    Chiedo di prescindere a cosa serve.
    Si ha presente un contatore che ha solo tre posizioni di nunemri e
    che invece di partire da 0-0-1 all'avvio comincia a girare formando la
    prima combinazione con 1-2-3 e fino ad arrivare a 88-89-90 e si ferma.
    nel formare combinazioni faccia lo scarto che in ogni combinazioni
    non ci siano 2 o più numeri uguali tipo 1-1-2,oppure 3-3-90, 5-5-5 ecc.

    Ciao



  • di Vecchio Frac data: 11/07/2016 16:19:49

    Ma tu hai qualcosa su cui ti sei incagliato e che proprio non funziona? hai problemi a impostare le formule ? Non sai perchè il tuo codice si blocca? hai uno scenario da proporre o è solo questione di algoritmo?
    Insomma ci hai provato?
    Altrimenti è una richiesta di fornitura (di formule o di codice) bella e buona :)





  • di griorgio46 data: 11/07/2016 16:32:30

    Salve Vecchio Frac,

    è una questione di algoritmi, perche le combinazioni che
    man mano si formano vengo utiizzate come somma ad ogni riga
    sottostante.
    Quindi si sviluppano le combinazioni e la formula che sta sotto
    nella stessa colonna di e1 cioè in e10 ,e11 ecc come di colonna f1
    sotto f10, f11 e così dicasi di colonna g.

    ciao



  • di Raffaele_53 data: 11/07/2016 16:35:11

    >>>in modo molto ma molto semlice chiedo che in tre celle si sviluppano le combinazioni di 90 numeri.
    Forse intendevi dire le combinazioni, comunque auguri di buoni guadagni futuri.
     
    Sub calcola()
    Dim X, Y, W, Rg
    Rg = 1
    'Application.Calculation = xlCalculationManual
    For X = 1 To 90
        For Y = X + 1 To 90
            For W = Y + 1 To 90
                Cells(Rg, 1) = X & "_" & Y & "_" & W
                Rg = Rg + 1
            Next W
        Next Y
    Next X
    'Application.Calculation = xlCalculationAutomatic
    MsgBox "fatto"
    End Sub



  • di griorgio46 data: 11/07/2016 16:48:10

    Salve Michele_53

    purtroppo durante il calcolo deve stare il calcolo automatico.
    Perchè se inibito non farebbe il calcolo.
    A me farebbe piacere che in un batter d'occhio fa lo sviluppo completo.
    E poi, motivo del calcolo automatico nel codice ci sta una condizione che
    la macro deve sottostare e quindi se non c'è il calcolo non può avvenire.
    La condizione da inserire è che se la cella i3 ha lo stesso valore di c4 le
    combinazioni si devono stoppare e con l'avvio riprendere lo sviluppo
    delle combinazioni.
    Scusate, pensavo di fare più fatica a chiarie l'argomento per cui mi
    sono momentaneamente astenuto a dichiararlo.

    ciao



  • di Raffaele_53 data: 11/07/2016 16:56:04

    >>>purtroppo durante il calcolo deve stare il calcolo automatico è se inibito non farebbe il calcolo.
    Come desideri, comuque ricorda che l'asterisco davanti non esegue le righe.

    Ciao, anche se non mi chiamo Michele_53



  • di griorgio46 data: 11/07/2016 16:59:48

    Scusami Michele,

    non volevo offendere dicendo in un battr d'occhio,
    ora che ho provato la macro avrei dovuto dire i mezzo
    batter d'occhio.

    Come dicevo, ho provato la macro, c'è un particolare
    che non voglio la distribuzione delle formule 117.480
    ma le combinazioni si devono combinarsi sempre in quelle 3 celle.

    Utilizzo le celle che mi serviranno cioè e1-f1-g1
    come detto prima la prima combinazione è 1-2-3
    poi questa viene sostituita da 1-2-4 restando sempre
    nelle stesse celle e nello stesso rigo.




  • di griorgio46 data: 11/07/2016 17:01:47

    Chiedo scusa per l'equivoco Raffaele



  • di Vecchio Frac data: 11/07/2016 17:06:35

    Bè, Raffaele o Michele, sempre Arcangelo è





  • di griorgio46 data: 11/07/2016 20:27:10

    Salve Raffaele_53,

    vorrei dire mi te la sei presa a male perchè ho sbagliato nome.
    Siccome per esigenzefamiliari mi sono assentato pensavo avessi
    proseguito col lavoro.
    Non ti nascondo che mi è utile.

    Saluti aspettando notizie
    Ciao



  • di Michelangrlo (utente non iscritto) data: 12/07/2016 01:22:48

    Prova così questa parte da E1 F1 G1
     
    Private Sub CommandButton1_Click()
    For I = 1 To 90
    For J = 1 + I To 90
    For K = 1 + J To 90
    
    
    Cells(Rows.Count, 5).End(xlUp).Offset(1, 0) = I
    Cells(Rows.Count, 5).End(xlUp).Offset(0, 1) = J
    Cells(Rows.Count, 5).End(xlUp).Offset(0, 2) = K
    
    
    Next K
    Next J
    Next I
    End Sub



  • di Raffaele_53 data: 12/07/2016 01:33:31

    >>>Vecchio Frac--->Mi sembrava Gabriele Arcangelo

    Comunque Gabriele, Michele >>>>Ben vengano
    Faccio prima a non rispondere



  • di griorgio46 data: 12/07/2016 05:29:15

    Salve,

    non voglio l'elenco dei 117.480 combinazioni.
    ma che lo sviluppo delle combinazioni avvenga
    solo nelle 3 celle indicate.

    Vecchio Frac mi ha fatto l'osservazione, servono come algoritmi?
    e gli ho risposto di si.
    Specifico meglio: avrei detto precedentemente che sotto le
    celle per ogni colonna ci sono delle formule che fanno addizione
    dei numeri che le combinazioni presentano per cui il numero della
    combinazione viene addizionato ad un altro numero.
    Se la combinazione non avviene e rimane in quelle celle come fare
    ad addizionare al numero la combinazione del numero.

    SI DEVE TENERE PRESENTE UN CONTATORE DELLA LUCE
    DELL'ACQUA, DEL GAS E SE SI VUOLE UN CONTA KILOMETRI

    solo che questi contatori hanno a disposizione tre cifre
    (3 celle) e i numeri da 1 a 90.
    I contatori non mi fanno vedere tutte le combinazioni in elenco
    Man mano che girano vedo le combinazioni.
    Spero di aver reso meglio l'idea.
    Ciao



  • di Thyke data: 12/07/2016 06:05:00

    @ Michelangrlo

    l'hai provata la macro prima di postarla?

    io ho interrotto l'esecuzione del codice dopo qualche minuto...quando il codice la tira per le lunghe mi annoio...

    ho corretto il tuo codice ed adesso nel mio pc ci mette 9 secondi a portare a termine il calcolo, se al posto di usare gli offset uso un riferimento assoluto di riga colonna guadagno ancora 2 secondi 
     
    'questo è il tuo riveduto e corretto
    
    Sub calcolaC()
    Dim conta As Long
    conta = 1
    For I = 1 To 90
    For J = 1 + I To 90
    For K = 1 + J To 90
    Cells(conta, 5) = I
    Cells(conta, 5).Offset(0, 1) = J
    Cells(conta, 5).Offset(0, 2) = K
    conta = conta + 1
    Next K
    Next J
    Next I
    End Sub
    
    'e questo era quello che avevo preparato io
    ' ma non avevo postato in quanto praticamente uguale a quello postato
    ' da  Raffaele_53
    
    Sub terno()
    Dim conta As Long
    conta = 1
    For a = 1 To 90
    For b = a + 1 To 90
    For c = b + 1 To 90
    Cells(conta, 1) = a
    Cells(conta, 2) = b
    Cells(conta, 3) = c
    conta = conta + 1
    Next
    Next
    Next
    End Sub



  • di griorgio46 data: 12/07/2016 14:47:14


    Salve
    ho provato le macro e filano che è una meraviglia,
    ma non voglio la distribuzione delle 117.480 combinazioni
    per esteso.

    Nelle tre celle indicate e solo in quelle 3 celle
    vorrei che vengano sviluppate le combinazioni.
    Dell'elenco completo delle combinazioni non saprei, fra l'altro, come gestirle
    Ho fatto l'esempio del contatore.
    Un contatore quando si ferma presenta l'ultima numerazione/combinazione
    ed è quello che vorrei.
    Ciao



  • di Raffaele_53 data: 12/07/2016 16:36:57

    Si vede che divento sempre più vecchio
    Desideri le combinazioni in tre celle (CAPITO)
    Pertanto il codice comincia dalla 1° combinazione 1,2,3
    Adesso cosa dovrebbe succedere? Che il VBA si fermi?
    Qual'ora lo fai ripartire mette nuovamente la 1° combinazione

    Invece se lo fai andare, l'occhio umano non vede quasi nulla e non puoi intervenire sul PC, poichè il processore sarà talmente impegnato che non lo permette.
    Questo codice scrive in A1,B1,C1 tutte le combinazioni
    Ps 1° combinazione,2° combinazione,3° combinazione ecc ecc 

    >>>La condizione da inserire è che se la cella i3 ha lo stesso valore di c4 le combinazioni si devono stoppare

    >>> e con l'avvio riprendere lo sviluppo delle combinazioni.

    >>>Scusate, pensavo di fare più fatica a chiarie l'argomento per cui mi sono momentaneamente astenuto a dichiararlo.

    Questa era la parte importante
    In A1 c'è un valore con quale cella confrontarlo?
    In B1 c'è un valore con quale cella confrontarlo?
    In C1 c'è un valore con quale cella confrontarlo?
     
    Sub calcola()
    Dim X, Y, W, Rg
    Rg = 1
    'Application.Calculation = xlCalculationManual
    For X = 1 To 90
        For Y = X + 1 To 90
            For W = Y + 1 To 90
                Cells(Rg, 1) = X
                Cells(Rg, 2) = Y
                Cells(Rg, 3) = W
                'Rg = Rg + 1
            Next W
        Next Y
    Next X
    'Application.Calculation = xlCalculationAutomatic
    MsgBox "fatto"
    End Sub



  • di griorgio46 data: 12/07/2016 16:59:00

    Salve Raffaele_53,

    possiamo partore da zero?

    possiamo prescindere a cosa la macro deve fare?

    A me non interessa se vedo le combinazioni perchè tanto la velocità del Pc
    a cercare di guardarle rimmarrei ipnotizzato.

    Ora l'unica cosa che chiedo, in seguito porterò l'esempio, che in quelle celle
    si sviluppino le 117.480 combinazioni.
    Non desidero elenchi nelle celle sottostanti.
    Punto.

    Ciao



  • di Raffaele_53 data: 12/07/2016 17:44:49

    Questo codice scrive solo in A1,B1,C1

    1)Se A1,B1,C1 sono vuote parte dalla prima Combinazione = 1,2,3
    Se in cella A2,B2,C2 non c'è scritto nulla arriva alla fine =88,89,90
    Se in cella A2,B2,C2 esiste per esempio 22,33,44
    Quando le tre celle A1,B1,C1 saranno uguali a A2,B2,C2 il codice si ferma.

    2)Se invece A1,B1,C1 sono scritte parte dalla Combinazione = A1,B1,C1+1
    Se in cella A2,B2,C2 esiste una combinazione maggiore di A1,B1,C1, si ferma quando la trova, oppure va sino alla fine =88,89,90
     
    Sub calcola()
    Dim X, Y, W, x1, y1, w1, x2, y2, w2, N
    x2 = Cells(2, 1)
    y2 = Cells(2, 2)
    w2 = Cells(2, 3)
    If Cells(1, 1) = "" And Cells(1, 2) = "" And Cells(1, 3) = "" Then
        For X = 1 To 90
            For Y = X + 1 To 90
                For W = Y + 1 To 90
                    Cells(1, 1) = X
                    Cells(1, 2) = Y
                    Cells(1, 3) = W
                    If X = x2 And Y = y2 And W = w2 Then Exit Sub
                Next W
            Next Y
        Next X
    Else
        For X = 1 To 90
            For Y = X + 1 To 90
                For W = Y + 1 To 90
                    If N = 0 Then X = Cells(1, 1): Y = Cells(1, 2): W = Cells(1, 3) + 1
                    Cells(1, 1) = X
                    Cells(1, 2) = Y
                    Cells(1, 3) = W
                    If X = x2 And Y = y2 And W = w2 Then Exit Sub
                    N = N + 1
                Next W
            Next Y
        Next X
    End If
    End Sub



  • di Thyke data: 12/07/2016 18:24:37

    io non sono ancora riuscito a capire quello che vuole

    tanto per cambiare si ricade nel primo assioma dello sviluppatore:

    "se tu riesci a farmi capire cosa vuoi io sono sicuramente in grado di farlo"



  • di Thyke data: 12/07/2016 18:34:55

    ma...che senso ha far scorrere dei valori fino a che non escono quelli che si ha già?



  • di griorgio46 data: 12/07/2016 19:28:24

    Salve Raffaele_53,

    finalmente ci siamo,

    adesso la dommanda anche se sciocca io la faccio lo stesso
    così si può andare avanti:
    questa macro sviluppa le 117.480 combinazioni?

    poi le combinazioni si devono trovare in E1-F1-G1;

    ora non ci sono i dati
    poniamo che alla condizione da inserire
    quando in I3 e C4 i 2 valori di celle saranno uguali,
    la macro si deve fermare

    la macro col riavvio deve riprendere a combinare
    quella dopo l'ultima fino a quando la condizione si ripete
    e se non trova la condizione quando arriva all'ultima
    commbinazione cioè 88-89-90 la macro finisce il conteggio.



  • di griorgio46 data: 12/07/2016 19:46:54

    Salve Thyke,

    mi scuso ma vi state preoccupando della apparente inteinutilità
    del lavoro che fa la macro.

    Nel corso dei messaggi ho spiegato che nelle 3 colonne a partire da
    rigo 10 ci sono delle formule una per colonna che in base alla
    formazione della combinazione questi 3 nummeri uno per colonna
    le formule fanno addizione;

    poniamo che in d10 ho 25 in e10 ho la seguente formula:

    somma(d10+E$1); in F10 somma(d10+F$1) in G10 somma(d10+G$1)
    ipotizzo che l'attuale combinazione si fermi 4-20-30
    (perchè i valori di I3 e C4 sono uguali)
    E10=25+4=29;
    F10=25+20=45;
    G10=25+30=55.
    quindi avremo ricavato l'algoritmo 29-45-55

    Quindi il motivo che in quelle 3 celle ci sono combinazione
    è questo.

    Spero di essermi chiarito, non dico tutto ma almeno un pò.

    Ma lo sapevo che avremmo avuto questo andirivieni di messaggi.
    Ciao



  • di griorgio46 data: 12/07/2016 19:55:25

    Una precisazione dovuta
    perchè se non detta potrebbe indurre in errore.

    Che le combinazioni non hanno niente a che vedere
    con i dati in I3 e C4.
    E' la condizione delle celle che fa fermare la macro.
    Quindi ora la macro con l'assestamento e l'esattezza dei dati
    non deve fare altro che sviluppare le combinazioni
    per esempio in I3=1; in C4=1 con questo dato la macro no dovrebbe fermarsi.

    .Ciao




  • di Thyke data: 12/07/2016 20:26:32

    @ griorgio46...scusami ma continuo a non capire, tu fai delle ipotesi, tanti discorsi ma alla fine a che serve sviluppare 117.480 combinazioni se poi devono fermarsi ad una serie che già hai?

    Da quello che ho capito io, tu hai avuto un'idea che non riesci a sviluppare in excel foglio di calcolo a causa di un riferimento circolare in una formula, da qui la necessità di avere dei valori sganciati dalle formule...giusto? oppure mi sbaglio?

    se mi sbaglio amen....non sono un'indovino, ma se ho ragione tu stai cercando di sviluppare un discorso senza senso...in quanto a differenza dell'excel foglio di calcolo in VBA tu puoi fare calcoli ricorsivi, in VBA è normalissimo che una variabile faccia riferimento a se stessa per ottenere un nuovo risultato...



  • di Raffaele_53 data: 12/07/2016 22:40:38

    Ho aggiunto due piccoli SE in C4 e I3
    Con F8, il codice è giusto, solo che non si ferma quando è avviato.
    Il motivo (non saprei se durante il ciclo le formule si aggiornano) oppure che non fanno in tempo ad aggiornarsi   
     
    Sub calcola()
    Dim X, Y, W, N
    If Range("E1") = "" And Range("F1") = "" And Range("G1") = "" Then
        For X = 1 To 90
            Range("E1") = X
            For Y = X + 1 To 90
                Range("F1") = Y
                For W = Y + 1 To 90
                    Range("G1") = W
                    If Range("C4") = Range("I3") Then Exit Sub
                Next W
            Next Y
        Next X
    Else
        For X = 1 To 90
            For Y = X + 1 To 90
                For W = Y + 1 To 90
                    If N = 0 Then X = Range("E1"): Y = Range("F1"): W = Range("G1") + 1
                    Range("E1") = X
                    Range("F1") = Y
                    Range("G1") = W
                    If Range("C4") = Range("I3") Then Exit Sub
                    N = N + 1
                Next W
            Next Y
        Next X
    End If
    End Sub



  • di griorgio46 data: 12/07/2016 23:28:00

    Salve Raffaele,

    sto provando la macro che per ora gira solo che so quando c'è il
    dato che fa fermare la macro cioè i3 e c4.
    Se si ferma quando trova la condizione e poi la posso riavviare
    vuol dire che è OK

    In verità sto controllando i tempi perhè senza fare calcoli era
    uno sputinik ma ora con i calcoli si è di mlto rallentata.

    Ora l'ho lanciato aprendo macro e scegliendo il nome di essa.
    Ti saprò dire.

    Ciao



  • di Thyke data: 13/07/2016 05:30:09

    provala così...
     
    Sub calcola()
    Application.ScreenUpdating = False
    Dim X, Y, W, N
    If Range("E1") = "" And Range("F1") = "" And Range("G1") = "" Then
        For X = 1 To 90
            Range("E1") = X
            For Y = X + 1 To 90
                Range("F1") = Y
                For W = Y + 1 To 90
                    Range("G1") = W
                    If Range("C4") = Range("I3") Then GoTo etichetta
                Next W
            Next Y
        Next X
    Else
        For X = 1 To 90
            For Y = X + 1 To 90
                For W = Y + 1 To 90
                    If N = 0 Then X = Range("E1"): Y = Range("F1"): W = Range("G1") + 1
                    Range("E1") = X
                    Range("F1") = Y
                    Range("G1") = W
                    If Range("C4") = Range("I3") Then GoTo etichetta
                    N = N + 1
                Next W
            Next Y
        Next X
    End If
    etichetta:
    Application.ScreenUpdating = True
    End Sub
    



  • di griorgio46 data: 13/07/2016 06:39:03

    Salve Raffaele_53,

    la macro lavora perfettamente e si ferma alla condizine imposta.
    Per la verità avevo dei dati in cui si deve fermare ed erano inferiori
    per cui la tua mene ha fatti rilevare altri 2 che sfuggivano ad una
    inqualificabile macro arrangiata da me, forse non enumerava tutte le combinazioni.
    Rimane un particolare a sapevo qual'era lo scoglio.

    Ci ha impiegato un'ora, si può migliorare?



  • di Raffaele_53 data: 13/07/2016 09:59:42

    L'unica cosa che mi viene in mente far in modo che C4 e I3 siano calcolati dal codice in modo da liberare le formule. Il fatto che Ti abbiano chiesto d'allegare un file e sinora dopo tanti post stiamo ancora raggionando solo con i pensieri. Sembrerebbe che hai trovato la "formula magica per vincere" e non desideri farci partecipi. Io l'ho già trovata 50 anni fà, quella di non giocare



  • di Thyke data: 13/07/2016 13:41:47

    @ griorgio46

    ho allegato un file alla discussione, se lo apri ti troverai davanti un foglio con 6 pulsanti, una casella che registra l'avvio del codice, una che ne registra la fine ed una che ti da il tempo di esecuzione in minuti:secondi, decimi di secondo.
    i primi tre ti elaborano i terni, uno te lo fa nel foglio di calcolo ( a me ci mette circa 7 secondi), il secondo elabora i terni e li salva in un file di testo (nella stessa cartella dove si trova il file excel) ed il terzo pulsante elabora i terni in una matrice e li carica in una list box, con il salvataggio su file od il caricamento in list box il tempo è 0(zero).
    quindi la seconda serie di pulsanti, questi elaborano le quaterne (2.555.190 combinazioni) se la fai elaborare in un foglio excel (il foglio2 della cartella) con il mio computer ci metto 4 minuti e 2 secondi, se la elabori in file di testo ci mette circa 7 secondi e se la faccio elaborare in matrice e caricare su list box 2 secondi.
    Prova...far girare le elaborazioni con formule sui fogli rallenta l'esecuzione di un fattore pari a 125 nel caso della quaterna, cioè il VBA è circa 125 volte più veloce dell'elaborazione su foglio.

    Tutto questo discorso per dirti...si si può velocizzare, dipende da te, da cosa vuoi fare. Se mantieni le formule sul foglio si può fare ben poco.



  • di griorgio46 data: 13/07/2016 17:28:22

    Ciao Raffaele e Thyke,

    quindi sulle vostre 2 macro rimane il problema della esecuzione dei terni:
    il tempo che per entrambi è uguale.

    Per mancanza di praticità non riesco a vedere dove scaricare l'allegato di Thyke
    ci mancherebbe che lo vorrei vedere volentieri ma sono sicuro che da quello che mi hai esposto
    parlo a grandi linee, non si potrà utilizzare, però vedendo l'allegato potresti farti una idea e chissà
    che non vi viene qualche idea.
    Il dettaglio dopo che avrete visto l'allegato.
    Con quella combinazione attuale ha raggiunnto la condizione solo che occorre vedere fino alla
    fine le altre combinazioni.
    Ma a parte questo dettaglio come si potrebbe risolvere la questione delle somme.
    Una precisazione che le righe con i numeri sono 6, quando si ferma per la condizione
    oltre tenere di conto la combinazione terno e1-f1-g1 i numeri che valgono sono quelli
    ultimi di e-f-g

    Vorrei allegare il file non trovo la voce per farlo.



  • di griorgio46 data: 13/07/2016 18:12:29



    OK ho allegato il file.

    Buon lavoro



  • di griorgio46 data: 13/07/2016 22:17:02


    Ciao Thyke,

    ho scaricato il tuo il e come ti accennavo
    non credo che serva allo scopo.
    Hai scaricato il mio alllegato?

    Penso non sia tanto complicato cmq se hai dachedermi..

    Ciao



  • di Raffaele_53 data: 14/07/2016 01:02:18

    Ci sarebbe tanto da chiedere.

    1) Non mi sembra pesante, pertanto ritengo che hai allegato solo una parte
    2) La cella in C4 non varia mai, presumo perchè hai incollato solo 68 righe
    3) I numeri di colonna C, sono i relativi numeri di colonna J (inizio mese)
    4) Formula in E4 =SE((SOMMA(RESTO($C58+E$1;90))=0);SOMMA(RESTO($C22+E13;90))=90;SOMMA(RESTO($C22+E$1;90)))
    In E13 non c'è nulla, in C58 non c'è nulla.
    Anche qui mi sa che mancano formule.
    5) La cosa brutta la matriciale in Colonna I

    Non saprei cosa dire/fare. Non allegare altro per me, dovrei essere nella Tua testa per capire cosa fare.



  • di Thyke data: 14/07/2016 03:35:47

    si ho scaricato il tuo allegato e sono giunto alle stesse conclusioni di Raffaele_53.

    Quello che tu non capisci è che in un ciclo che si ripete 117.480 volte il numero delle formule che si esegue ogni volta è fondamentale.
    Un conto è far 117.480 2+2 un'altro è far fare 117.480 un certo numero di formule che pongono numerose condizioni.
    Le tue formule inoltre contengono innumerevoli riferimenti inutili a celle vuote e tra l'altro è evidente come il file che hai allegato sia incompleto.

    Quindi in conclusione visto che le tue richieste iniziali sono state pienamente soddisfatte e che il rapporto di fiducia tra il committente e chi fornisce gratuitamente la propria esperienza non esiste proprio...per quel che mi riguarda la cosa finisce qui.



  • di griorgio46 data: 14/07/2016 05:35:59

    Salve,

    scherzosamente, credo di far parte della corrente degli ermetici.
    Che sia chiaro lungi da me a pensarlo, altrimenti sarebbero
    occorsi pochissimi messaggi e avremmo chiuso l'argomento.

    Esaminiamo quanto sta sul foglio2:
    dallo sviluppo come in E1-F1-G1 troviamo la combinazione
    2-78-88 questo è il codice che ha permesso (parlo a ritroso)
    come se avessi giocato e per 5 volte si vince, attenzione:
    in rigo 10 al numero 46 vengono sommati
    46+2=48; 46+78=124-90=34; 46+88=134-90=44 nella
    cella i10 devo leggere(la formula) che questi 3 numeri nello
    archivio da c11:v22 il terno è uscito alla nona estrazione
    cioè foglio Archivio rigo 19 o meglio colonna A rigo 10

    andiamo alla 2^ riga cioè rigo 22 del foglio2.
    troviamo 47 sommiamo i numeri della combinazione
    e riportando i calcoli 49-35-45 in colonna i22 è indicato
    che il terno è (casualmente) alla 9^ estrazioone
    archivio dal rigo c23:v34 e al rigo 32 del foglio meglio
    colonna A23 si trova il terno prodotto sempre dalla
    combinazione terno al numero.

    Così per le altre.

    Vi siete e non di poco arrabbiati che pare voglia fare il gioco
    del nascondino.
    Ora faccio questa domanda:
    se vi avessi esposto tutto quanto oggi staremo ancora a spiegare
    l'inizio. Già ho dovuto convincervi a che le combinazioni dei terni avvengano in quelle 3 celle del rigo 1.

    Se possiamo andare avanti poi non saprei.

    Siccome non sto mai fermo, credo di avere scoperto il perchè
    c'è un rallentamento delle combinazioni:
    quando le formule della colonna i vanno a controllare i numeri
    derivanti dalla combinazione sul numero di colonna C foglio2.
    Infatti ho provato su un archivio dell'enalotto e ci impiega 10-15
    minuti.
    Ciao per altro







  • di Thyke data: 14/07/2016 05:52:11

    griorgio46...tra i sistemisti del lotto tu sei un "ciclometrista" e non sei neppure il primo che mi chiede codice per far funzionare la sua formula magica per vincere al lotto.

    L'ultimo prima di te era uno "statistico" e voleva implementare la funzione del "Collasso della funzione d'onda" per prevedere quando sarebbe uscito un ritardatario.

    personalmente non mi interessa minimamente se i terni ti escono dopo 5 o dopo 11 settimane, dal mio punto di vista quello che vuoi tu è una ripetizione di cicli su formule inutili, quindi preferisco dedicare il mio tempo ad aiutare utenti del forum che hanno problemi un pochino più concreti.

    buona fortuna



  • di griorgio46 data: 14/07/2016 06:13:39

    Ciao Thyke,

    non posso convincere nessuno a fare quello che voglio io.
    che tu non sei convinto anzi ritieni perdite di tempo
    però che si trattava di numeri al lotto io mi sono dichiarato
    dall'inizio, se ora mi dici che ti ho fatto perdere del tempo
    ti chiedo scusa anzi chiedo scusa anche a Raffaele.

    Però la vetta è quasi raggiunta se vuoi dedicami un altro
    poco del tuo vostro tempo vi sarei ancora più grato di quanto
    mi avete aiutato.

    Ho accennato nel messaggio precedente questo che avrei
    scoperto il perchè il rallentamento delle combinazioni ed
    è quando la formula di colonna i va a controllare in archivio
    quando si è verificato l'evento terno.

    Thyke e Raffaele se la pensa altrettanto se non volete continuare sempre
    che ci sia una soluzione a completare l'opera.
    Io vi ringrazio entrambi e vi dico che siete BRAVISSIMI.
    Ciao



  • di griorgio46 data: 14/07/2016 10:36:34

    Salve Raffaele_53,

    non mi dai la senteza finale?

    Mi avete chiesto di dirvi a cosa serve la macro,
    a cosa servono gli altri dati sull'allegato e lo sto
    facendo non saprei.

    Se mi dite che non siete più interessati al mio caso
    anche perchè pare quasi esaurito...
    ditemi voi.

    Ciao



  • di Raffaele_53 data: 14/07/2016 13:13:13

    >>>Ti abbiano chiesto d'allegare un file
    Viste le formule & soppratutto le matriciali presenti

    >>>Ci ha impiegato un'ora, si può migliorare?
    No, a meno di cambiare totalmente il file

    Ps. Come Tu stesso l'hai dichiarato il vba (era uno sputinik)



  • di griorgio46 data: 14/07/2016 13:35:20

    Salve Raffaele,

    gli esperti siete voi, di mio quello che posso presentare
    è l'archivio e il modo di arrivare a quello che da quello
    allegato parziale.
    Intanto si è chiarito il problema delle combinazioni,
    è importante cosa fanno le combinazioni.
    Da parte mia lo ritengo un programma importante
    e come mi avevate chiesto stavo cercando di arrivare
    al quel punto il finale.

    Chiaro che nella colonna i possiamo cambiare la formula quello che
    volete a me interessa il risultato finale e già da ora incomincio a
    spiegare cosa fa la matrice di colonna i
    dei 3 numeri a sinistra va a controllare nel'archivio se dalla riga
    dopo e entro le 12 estrazioni si è verificato l'evento terno
    quando lo individua scrive a quale rigo (estrazione) ha
    trovato il terno.

    Chiaro?
    Poi se continuiamo nella discussione ci sono altre piccole
    cosucce da tenere presente che per voi facili da impostare e
    altrettanto facili da capire.

    Ciao



  • di Raffaele_53 data: 14/07/2016 14:12:40

    Solo al 10°>>>Scusate...per cui mi sono momentaneamente astenuto a dichiararlo.

    Nel Tuo caso specifico, "carente" nel descrivere il problema (almeno per la mia testa), l'ho capito solo quando mi sono riletto nuovamente tutto il post.
    Comunque tanto per aiutare, si può fare. Però non sono un'esperto di lotto e naturalmente per poter aiutare le persone "Bisogna prima sapere & capire"
    Non è una questione di essere più bravo, il problema che tutte quelle formule rallentano. Dovrei rifare d'accapo tutto il file per verificarei "di non ottenere risultati validi". Conosco solo ambo & terno e quelle "cose" che descrivi non le capisco. Tanto vale che lo tieni cosi



  • di griorgio46 data: 14/07/2016 15:18:31

    Salve,

    qui non devi cercare ambi o terni, l'unica ricerca del terno è dato dai tre numeri
    che la combinazione terno da.
    Il problema del ralentamento della macro è dato dalla formula di colonna i.
    Se si può sostituire con unna Function, dico per dire.
    Perchè per esempio ho provato la macro calcola su un archivio fatto di sei (6)
    colonne rispettando tutte le formule 10-15 minuti e termina.

    Raffale, pare chi mi stai dicendo di troncare questo discorso?
    Se è cosi ci scrivo risolto.
    E tanto di cappello per quello che mi avete scritto.
    Avevo preparato il file con tutti i dati di partenza ma..... pazienza


  • formula terno
    di griorgio46 data: 15/07/2016 12:30:24

    Salve Raffaele, Thyke,

    ho ottenuto quello che volevo grazie al vostro
    interessamento.
    La mia era una richiesta secca una macro
    che sviluppasse in 3 celle le combinazioni di 90 numeri.
    Può darsi che se avessi presentato il file con la richiesta
    avrei ottenuto qualche aggiustamento , oltre la mia richiesta;
    nel file.
    E' successo di aver fatto la stessa richiesta persono brave quanto
    voi ma non accettato l'utilita della mia richiesta e dopo diversi
    contatti ho capito che forse la mia richiesta si trovasse in un mare
    di notizie e si è resa incomprensibile;
    pertanto rivolgendo a voi e con l'esprienza negativa mi son detto:
    cosa serveal mio file/programmino perchè espletasse quanto mi
    occorre? Da qui è nata l'idea di chiiedere solo quella determinata
    opzione.
    Poi mi avete chiesto a cosa sarebbe servita quella macro e
    nel file c'era ancora un punto un pò difficilotto da spiegare
    ma avrei comunque presentato il file al completo e aggiungo
    che a presentare il file mi sarebbe servito un ulteriore aiuto interno
    quindi era convenienza mia mostrare tutto il file per avere un ulteriore
    aiuto.
    Quindi mi scuso se ho dato l'impressione del furbacchiotto.
    Ritengo che a chi ti aiuta è immeritevole un simile comportamento.
    Mike Buongiorno diceva "concludendo",
    Concludo col ringraziarvi dell'aiuto che mi avete dato.
    Chiudo e metto la spunta a RISOLTO
    Spero anche se gli argomenti miei sono e saranno gli stessi in
    una prossima richiesta, se ci sarà, che interverrete ugualmente.
    Grazie e saluti perchè siete bravissimi.