Novità

R.V.M.

Ciao Baffo. Ho "isolato" i numeri da te richiesti. Non sono sempre 4 ( dipende da quante volte la somma/differenza isotopa si ripete nel mese ) anche se nella maggioranza dei casi si hanno due ripetizioni e quindi 4 numeri. Ho previsto le varie situazioni e i numeri sono memorizzati nelle variabili a,b,c,d,e,f,g,h che adesso dovresti riuscire a manipolare. Eventualmente, se necessario, si potrebbe limitare l'analisi ai casi con solo due ripetizioni per avere così soltanto 4 numeri.
Codice:
Option Explicit
Sub Main
   Dim Vet_Controllo(90,5),Vet_ripetuti(20),pos,Num,Num1,k,kk,conta,conta1,conta2,Nr,Mat_estr_mod(21,5),Ultimo_indice,Vet_sv(5),Vet_somma_estr(21),Mat_sver(21,5),Mat_sver_mod(21,5),Mat_dver(21,5)
   Dim es,r,j,esj,ini,fin,co,se,sv,Stringa1,Stringa2,Stringa3,Vet_contr_sv(90,5),Mat_dver_mod(21,5),Vet_contr_dv(90,5),Vet_rip_sv(20),Vet_rip_dv(20)
   Dim col,som_rip,Matrice_Estratti(21,5),Tipo,Vet_giocata(10),Linea(5),conta_rip,clp,ok,col2,a,b,c,d,e,f,g,h,var_temp,N1,N2,N3,N4,N5,N6,N7,N8
   Dim Tabs(30)
   Dim ruota(11)
   Dim ruote(11)
   Dim posta(10)
   Dim poste(10)
   clp = 18
   posta(1) = 1
   posta(2) = 1
   posta(3) = 1
   poste(2) = 1
   Tabs(1) = "Data":Tabs(2) = "Ruota":Tabs(3) = "Estratti"
   Tabs(4) = "1°":Tabs(5) = "2°":Tabs(6) = "3°":Tabs(7) = "4°":Tabs(8) = "5°":Tabs(9) = "Somme":Tabs(10) = "Somme -90"
   Tabs(11) = "S1":Tabs(12) = "S2":Tabs(13) = "S3":Tabs(14) = "S4":Tabs(15) = "S5"
   Tabs(16) = "D1":Tabs(17) = "D2":Tabs(18) = "D3":Tabs(19) = "D4":Tabs(20) = "D5"
   Tabs(21) = "S1":Tabs(22) = "S2":Tabs(23) = "S3":Tabs(24) = "S4":Tabs(25) = "S5"
   Tabs(26) = "D1":Tabs(27) = "D2":Tabs(28) = "D3":Tabs(29) = "D4":Tabs(30) = "D5"
   r = CInt(InputBox(" Scegli la ruota ",,"6"))
   col = CInt(InputBox("Scegli la colonna da analizzare                            Valori 1,2,3,4,5 per le somme                           Valori 6,7,8,9,10 per le differenze",,5))
   som_rip = CInt(InputBox("Scegli il valore della somma/differenza da ricercare",,39))
   ini = 8000 ' Inizio 2022 Circa
   Ultimo_indice = IndiceMensile(EstrazioneFin)
   If IsUltimaDelMese(EstrazioneFin) Then
      fin = EstrazioneFin
   Else
      fin = EstrazioneFin - Ultimo_indice
   End If
 
   ResetTimer
 '  For r = 1 To 11
      If r = 11 Then r = 12
      co = 0
      Scrivi FormatSpace(NomeRuota(r),80,True),1,,Giallo_,,4
      Scrivi
      For es = ini To fin
         Messaggio "elab. estr. [" &(es) & "] " & DataEstrazione(es,1) & " Elaborazione della ruota di " & NomeRuota(r)
         Call AvanzamentoElab(ini,fin,es)
         If IndiceMensile(es) = 1 Then
            Erase Vet_Controllo: Erase Vet_ripetuti: Erase Mat_estr_mod: Erase Vet_sv: Erase Vet_somma_estr:Erase Mat_sver: Erase Mat_dver:Erase Vet_contr_sv
            Erase Mat_sver_mod: Erase Mat_dver_mod:Erase Vet_contr_dv

            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  Vet_Controllo(Num,pos) = Vet_Controllo(Num,pos) + 1
                  Matrice_Estratti(j,pos) = Num
                  Mat_estr_mod(j,pos) = Num
                  Vet_sv(pos) = Vet_sv(pos) + Num
                  Vet_somma_estr(j) = Vet_somma_estr(j) + Num
                  If j > 0 Then
                        Mat_sver(j,pos) = Fuori90(Mat_estr_mod(j,pos) + Mat_estr_mod(j - 1,pos))
                        Mat_sver_mod(j,pos) = Mat_sver(j,pos)
                        Mat_dver(j,pos) = Fuori90(Abs(Mat_estr_mod(j,pos) - Mat_estr_mod(j - 1,pos)))
                        Mat_dver_mod(j,pos) = Mat_dver(j,pos)
                        Vet_contr_sv(Mat_sver(j,pos),pos) = Vet_contr_sv(Mat_sver(j,pos),pos) + 1
                        Vet_contr_dv(Mat_dver(j,pos),pos) = Vet_contr_dv(Mat_dver(j,pos),pos) + 1
                  End If
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  If Vet_Controllo(Num,pos) < 2 Then Mat_estr_mod(j,pos) = "  "
                  Num1 = CInt(Mat_sver(j,pos))
                  If Vet_contr_sv(Num1,pos) < 2 Then Mat_sver_mod(j,pos) = "  "
                  Num1 = CInt(Mat_dver(j,pos))
                  If Vet_contr_dv(Num1,pos) < 2 Then Mat_dver_mod(j,pos) = "  "
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
                                                                                 'Verifica presenza somma/differenza richiesta
            ok = 0
            For j = 0 To 20
                If col <= 5 Then
                   If Mat_sver_mod(j,col) = som_rip Then ok = 1
                End If
                If col > 5 Then
                   If Mat_dver_mod(j,col - 5) = som_rip Then ok = 1
                End If
                If ok = 1 Then Exit For
            Next
         If ok = 1 Then
            co = co + 1
            Scrivi String(100,"°") & " Caso n°" & co,1
            conta = 0: conta1 = 0: conta2 = 0
            For k = 1 To 90
               For kk = 1 To 5
                  If Vet_Controllo(k,kk) > 1 Then
                     conta = conta + 1
                     Vet_ripetuti(conta) = k
                  End If
                  If Vet_contr_sv(k,kk) > 1 Then
                     conta1 = conta1 + 1
                     Vet_rip_sv(conta1) = k
                  End If
                  If Vet_contr_dv(k,kk) > 1 Then
                     conta2 = conta2 + 1
                     Vet_rip_dv(conta2) = k
                  End If
               Next
            Next
            Scrivi
            EliminaRipetuti Vet_ripetuti
            EliminaRipetuti Vet_rip_sv
            EliminaRipetuti Vet_rip_dv
            Scrivi
            Scrivi
                                                                              ' ************  TABELLA   *********
            Call InitTabella(Tabs,RGB(224,224,224),,,2,5)' inzializzazione
            ReDim tabs2(30)
            For j = 0 To 20
               esj = es + j
               tabs2(1) = DataEstrazione(esj)
               tabs2(2) = SiglaRuota(r)
               tabs2(3) = StringaEstratti(esj,r)
               For pos = 1 To 5
                  tabs2(3 + pos) = Mat_estr_mod(j,pos)
               Next
               tabs2(9) = Vet_somma_estr(j)
               tabs2(10) = Fuori90(Vet_somma_estr(j))
               For pos = 1 To 5
                    tabs2(10 + pos) = Mat_sver(j,pos) '*****************
                    tabs2(15 + pos) = Mat_dver(j,pos) '*****************
                    tabs2(20 + pos) = Mat_sver_mod(j,pos) '*****************
                    tabs2(25 + pos) = Mat_dver_mod(j,pos) '*****************
               Next
               Call AddRigaTabella(tabs2,,,2)
               Call SetColoreCella(9,6,0)
               Call SetColoreCella(10,4,2)
               For k = 1 To 5
                  Call SetColoreCella(k + 3,5,1)
                  Call SetColoreCella(20 + k,5,1)
                  Call SetColoreCella(25 + k,5,2)
               Next
            If IsUltimaDelMese(esj) Then Exit For
            Next
            Stringa1 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa1 = Stringa1 &(Vet_sv(pos)) & "."
            Next
            tabs2(1) = "Somma Verticale"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa1
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = "":tabs2(10) = ""
            tabs2(11) = "":tabs2(12) = "":tabs2(13) = "":tabs2(14) = "":tabs2(15) = "":tabs2(16) = "":tabs2(17) = "":tabs2(18) = "":tabs2(19) = "":tabs2(20) = ""
            tabs2(21) = "":tabs2(22) = "":tabs2(23) = "":tabs2(24) = "":tabs2(25) = "":tabs2(26) = "":tabs2(27) = "":tabs2(28) = "":tabs2(29) = "":tabs2(30) = ""
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,6,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,6,2)
            Stringa2 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa2 = Stringa2 & Fuori90(Vet_sv(pos)) & "."
            Next
            Stringa3 = ""
            For pos = 1 To 5
               If Vet_ripetuti(pos) > 0 Then Stringa3 = Stringa3 & Fuori90(Vet_ripetuti(pos)) & "."
            Next
            tabs2(1) = "Somma V. -90"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa2
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = ""::tabs2(10) = "":
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,4,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,4,2)
            tabs2(1) = "Nr ripetuti isotopi"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa3
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,3,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,3,2)
            Call CreaTabella()
            Scrivi
                                                                       
                                                                  'Ricerca colonnare su ruota
            Erase Linea: Erase Vet_giocata
            conta_rip = 0
            If col > 0 And col <= 5 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_sver_mod(j,col) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            If col > 5 And col <= 10 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_dver_mod(j,col - 5) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            col2 = col
            If col2 > 5 Then col2 = col2 - 5
            For k = 1 To conta_rip
               Vet_giocata((k - 1)*2 + 1) = Matrice_Estratti(Linea(k),col2)
               Vet_giocata((k - 1)*2 + 2) = Matrice_Estratti(Linea(k) - 1,col2)
            Next
            EliminaRipetuti(Vet_giocata)
            If col > 5 Then Scrivi "Differenza consecutivi isotopi = " & som_rip & " in posizione " & col - 5 & "   ",True,0,,2,2
            If col <= 5 Then Scrivi "Somma isotopi " & som_rip & " in posizione " & col & "   ",True,0,,1,2
            For k = 1 To conta_rip*2
                  If Vet_giocata(k) > 0 Then Scrivi Vet_giocata(k) & ".",1,False,,2
            Next    
            If Vet_giocata(1)>0 Then a=Vet_giocata(1): Scrivi "    a=" & a,1,False
            If Vet_giocata(2)>0 Then b=Vet_giocata(2): Scrivi "    b=" & b,1,False
            If Vet_giocata(3)>0 Then c=Vet_giocata(3): Scrivi "    c=" & c,1,False
            If Vet_giocata(4)>0 Then d=Vet_giocata(4): Scrivi "    d=" & d,1,False
            If Vet_giocata(5)>0 Then e=Vet_giocata(5): Scrivi "    e=" & e,1,False
            If Vet_giocata(6)>0 Then f=Vet_giocata(6): Scrivi "    f=" & f,1,False
            If Vet_giocata(7)>0 Then g=Vet_giocata(7): Scrivi "    g=" & g,1,False
            If Vet_giocata(8)>0 Then h=Vet_giocata(8): Scrivi "    h=" & h,1,False
            Scrivi
            Scrivi String(100,"°"),1
            ruota(1) = r
            ruote(1) = 11
            ImpostaGiocata 1,Vet_giocata,ruota,posta,clp
            ImpostaGiocata 2,Vet_giocata,ruote,poste,clp
            Gioca esj,1,,1
            Scrivi
            If esj + 1 > EstrazioneFin Then Exit For
            Scrivi String(75,"-"),1
            Scrivi
            Scrivi "Controllo visivo Prima/Ultima Mese ",1,,,1,2
            Scrivi "Prima  Estrazione Mese " & DataEstrazione(es) & " - " & SiglaRuota(r) & " - " & StringaEstratti(es,r),1
            Scrivi "Ultima Estrazione Mese " & DataEstrazione(esj) & " - " & SiglaRuota(r) & " - " & StringaEstratti(esj,r),1
            Scrivi String(75,"-"),1
            Scrivi
         End If
       End If
      Next
  'next
   Scrivi String(100,"*")
   ColoreTesto 2
   Scrivi" casi trovati : " & co,1
   ColoreTesto 0
   Scrivi String(100," * ")
   ScriviResoconto
   TestoInBandaPassante(" Idea e Script by Maldor/BaffoBlù"),1,3,0
End Sub
 
Ciao Baffo. Ho "isolato" i numeri da te richiesti. Non sono sempre 4 ( dipende da quante volte la somma/differenza isotopa si ripete nel mese ) anche se nella maggioranza dei casi si hanno due ripetizioni e quindi 4 numeri. Ho previsto le varie situazioni e i numeri sono memorizzati nelle variabili a,b,c,d,e,f,g,h che adesso dovresti riuscire a manipolare. Eventualmente, se necessario, si potrebbe limitare l'analisi ai casi con solo due ripetizioni per avere così soltanto 4 numeri.
Codice:
Option Explicit
Sub Main
   Dim Vet_Controllo(90,5),Vet_ripetuti(20),pos,Num,Num1,k,kk,conta,conta1,conta2,Nr,Mat_estr_mod(21,5),Ultimo_indice,Vet_sv(5),Vet_somma_estr(21),Mat_sver(21,5),Mat_sver_mod(21,5),Mat_dver(21,5)
   Dim es,r,j,esj,ini,fin,co,se,sv,Stringa1,Stringa2,Stringa3,Vet_contr_sv(90,5),Mat_dver_mod(21,5),Vet_contr_dv(90,5),Vet_rip_sv(20),Vet_rip_dv(20)
   Dim col,som_rip,Matrice_Estratti(21,5),Tipo,Vet_giocata(10),Linea(5),conta_rip,clp,ok,col2,a,b,c,d,e,f,g,h,var_temp,N1,N2,N3,N4,N5,N6,N7,N8
   Dim Tabs(30)
   Dim ruota(11)
   Dim ruote(11)
   Dim posta(10)
   Dim poste(10)
   clp = 18
   posta(1) = 1
   posta(2) = 1
   posta(3) = 1
   poste(2) = 1
   Tabs(1) = "Data":Tabs(2) = "Ruota":Tabs(3) = "Estratti"
   Tabs(4) = "1°":Tabs(5) = "2°":Tabs(6) = "3°":Tabs(7) = "4°":Tabs(8) = "5°":Tabs(9) = "Somme":Tabs(10) = "Somme -90"
   Tabs(11) = "S1":Tabs(12) = "S2":Tabs(13) = "S3":Tabs(14) = "S4":Tabs(15) = "S5"
   Tabs(16) = "D1":Tabs(17) = "D2":Tabs(18) = "D3":Tabs(19) = "D4":Tabs(20) = "D5"
   Tabs(21) = "S1":Tabs(22) = "S2":Tabs(23) = "S3":Tabs(24) = "S4":Tabs(25) = "S5"
   Tabs(26) = "D1":Tabs(27) = "D2":Tabs(28) = "D3":Tabs(29) = "D4":Tabs(30) = "D5"
   r = CInt(InputBox(" Scegli la ruota ",,"6"))
   col = CInt(InputBox("Scegli la colonna da analizzare                            Valori 1,2,3,4,5 per le somme                           Valori 6,7,8,9,10 per le differenze",,5))
   som_rip = CInt(InputBox("Scegli il valore della somma/differenza da ricercare",,39))
   ini = 8000 ' Inizio 2022 Circa
   Ultimo_indice = IndiceMensile(EstrazioneFin)
   If IsUltimaDelMese(EstrazioneFin) Then
      fin = EstrazioneFin
   Else
      fin = EstrazioneFin - Ultimo_indice
   End If
 
   ResetTimer
 '  For r = 1 To 11
      If r = 11 Then r = 12
      co = 0
      Scrivi FormatSpace(NomeRuota(r),80,True),1,,Giallo_,,4
      Scrivi
      For es = ini To fin
         Messaggio "elab. estr. [" &(es) & "] " & DataEstrazione(es,1) & " Elaborazione della ruota di " & NomeRuota(r)
         Call AvanzamentoElab(ini,fin,es)
         If IndiceMensile(es) = 1 Then
            Erase Vet_Controllo: Erase Vet_ripetuti: Erase Mat_estr_mod: Erase Vet_sv: Erase Vet_somma_estr:Erase Mat_sver: Erase Mat_dver:Erase Vet_contr_sv
            Erase Mat_sver_mod: Erase Mat_dver_mod:Erase Vet_contr_dv

            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  Vet_Controllo(Num,pos) = Vet_Controllo(Num,pos) + 1
                  Matrice_Estratti(j,pos) = Num
                  Mat_estr_mod(j,pos) = Num
                  Vet_sv(pos) = Vet_sv(pos) + Num
                  Vet_somma_estr(j) = Vet_somma_estr(j) + Num
                  If j > 0 Then
                        Mat_sver(j,pos) = Fuori90(Mat_estr_mod(j,pos) + Mat_estr_mod(j - 1,pos))
                        Mat_sver_mod(j,pos) = Mat_sver(j,pos)
                        Mat_dver(j,pos) = Fuori90(Abs(Mat_estr_mod(j,pos) - Mat_estr_mod(j - 1,pos)))
                        Mat_dver_mod(j,pos) = Mat_dver(j,pos)
                        Vet_contr_sv(Mat_sver(j,pos),pos) = Vet_contr_sv(Mat_sver(j,pos),pos) + 1
                        Vet_contr_dv(Mat_dver(j,pos),pos) = Vet_contr_dv(Mat_dver(j,pos),pos) + 1
                  End If
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  If Vet_Controllo(Num,pos) < 2 Then Mat_estr_mod(j,pos) = "  "
                  Num1 = CInt(Mat_sver(j,pos))
                  If Vet_contr_sv(Num1,pos) < 2 Then Mat_sver_mod(j,pos) = "  "
                  Num1 = CInt(Mat_dver(j,pos))
                  If Vet_contr_dv(Num1,pos) < 2 Then Mat_dver_mod(j,pos) = "  "
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
                                                                                 'Verifica presenza somma/differenza richiesta
            ok = 0
            For j = 0 To 20
                If col <= 5 Then
                   If Mat_sver_mod(j,col) = som_rip Then ok = 1
                End If
                If col > 5 Then
                   If Mat_dver_mod(j,col - 5) = som_rip Then ok = 1
                End If
                If ok = 1 Then Exit For
            Next
         If ok = 1 Then
            co = co + 1
            Scrivi String(100,"°") & " Caso n°" & co,1
            conta = 0: conta1 = 0: conta2 = 0
            For k = 1 To 90
               For kk = 1 To 5
                  If Vet_Controllo(k,kk) > 1 Then
                     conta = conta + 1
                     Vet_ripetuti(conta) = k
                  End If
                  If Vet_contr_sv(k,kk) > 1 Then
                     conta1 = conta1 + 1
                     Vet_rip_sv(conta1) = k
                  End If
                  If Vet_contr_dv(k,kk) > 1 Then
                     conta2 = conta2 + 1
                     Vet_rip_dv(conta2) = k
                  End If
               Next
            Next
            Scrivi
            EliminaRipetuti Vet_ripetuti
            EliminaRipetuti Vet_rip_sv
            EliminaRipetuti Vet_rip_dv
            Scrivi
            Scrivi
                                                                              ' ************  TABELLA   *********
            Call InitTabella(Tabs,RGB(224,224,224),,,2,5)' inzializzazione
            ReDim tabs2(30)
            For j = 0 To 20
               esj = es + j
               tabs2(1) = DataEstrazione(esj)
               tabs2(2) = SiglaRuota(r)
               tabs2(3) = StringaEstratti(esj,r)
               For pos = 1 To 5
                  tabs2(3 + pos) = Mat_estr_mod(j,pos)
               Next
               tabs2(9) = Vet_somma_estr(j)
               tabs2(10) = Fuori90(Vet_somma_estr(j))
               For pos = 1 To 5
                    tabs2(10 + pos) = Mat_sver(j,pos) '*****************
                    tabs2(15 + pos) = Mat_dver(j,pos) '*****************
                    tabs2(20 + pos) = Mat_sver_mod(j,pos) '*****************
                    tabs2(25 + pos) = Mat_dver_mod(j,pos) '*****************
               Next
               Call AddRigaTabella(tabs2,,,2)
               Call SetColoreCella(9,6,0)
               Call SetColoreCella(10,4,2)
               For k = 1 To 5
                  Call SetColoreCella(k + 3,5,1)
                  Call SetColoreCella(20 + k,5,1)
                  Call SetColoreCella(25 + k,5,2)
               Next
            If IsUltimaDelMese(esj) Then Exit For
            Next
            Stringa1 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa1 = Stringa1 &(Vet_sv(pos)) & "."
            Next
            tabs2(1) = "Somma Verticale"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa1
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = "":tabs2(10) = ""
            tabs2(11) = "":tabs2(12) = "":tabs2(13) = "":tabs2(14) = "":tabs2(15) = "":tabs2(16) = "":tabs2(17) = "":tabs2(18) = "":tabs2(19) = "":tabs2(20) = ""
            tabs2(21) = "":tabs2(22) = "":tabs2(23) = "":tabs2(24) = "":tabs2(25) = "":tabs2(26) = "":tabs2(27) = "":tabs2(28) = "":tabs2(29) = "":tabs2(30) = ""
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,6,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,6,2)
            Stringa2 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa2 = Stringa2 & Fuori90(Vet_sv(pos)) & "."
            Next
            Stringa3 = ""
            For pos = 1 To 5
               If Vet_ripetuti(pos) > 0 Then Stringa3 = Stringa3 & Fuori90(Vet_ripetuti(pos)) & "."
            Next
            tabs2(1) = "Somma V. -90"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa2
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = ""::tabs2(10) = "":
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,4,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,4,2)
            tabs2(1) = "Nr ripetuti isotopi"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa3
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,3,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,3,2)
            Call CreaTabella()
            Scrivi
                                                                      
                                                                  'Ricerca colonnare su ruota
            Erase Linea: Erase Vet_giocata
            conta_rip = 0
            If col > 0 And col <= 5 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_sver_mod(j,col) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            If col > 5 And col <= 10 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_dver_mod(j,col - 5) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            col2 = col
            If col2 > 5 Then col2 = col2 - 5
            For k = 1 To conta_rip
               Vet_giocata((k - 1)*2 + 1) = Matrice_Estratti(Linea(k),col2)
               Vet_giocata((k - 1)*2 + 2) = Matrice_Estratti(Linea(k) - 1,col2)
            Next
            EliminaRipetuti(Vet_giocata)
            If col > 5 Then Scrivi "Differenza consecutivi isotopi = " & som_rip & " in posizione " & col - 5 & "   ",True,0,,2,2
            If col <= 5 Then Scrivi "Somma isotopi " & som_rip & " in posizione " & col & "   ",True,0,,1,2
            For k = 1 To conta_rip*2
                  If Vet_giocata(k) > 0 Then Scrivi Vet_giocata(k) & ".",1,False,,2
            Next   
            If Vet_giocata(1)>0 Then a=Vet_giocata(1): Scrivi "    a=" & a,1,False
            If Vet_giocata(2)>0 Then b=Vet_giocata(2): Scrivi "    b=" & b,1,False
            If Vet_giocata(3)>0 Then c=Vet_giocata(3): Scrivi "    c=" & c,1,False
            If Vet_giocata(4)>0 Then d=Vet_giocata(4): Scrivi "    d=" & d,1,False
            If Vet_giocata(5)>0 Then e=Vet_giocata(5): Scrivi "    e=" & e,1,False
            If Vet_giocata(6)>0 Then f=Vet_giocata(6): Scrivi "    f=" & f,1,False
            If Vet_giocata(7)>0 Then g=Vet_giocata(7): Scrivi "    g=" & g,1,False
            If Vet_giocata(8)>0 Then h=Vet_giocata(8): Scrivi "    h=" & h,1,False
            Scrivi
            Scrivi String(100,"°"),1
            ruota(1) = r
            ruote(1) = 11
            ImpostaGiocata 1,Vet_giocata,ruota,posta,clp
            ImpostaGiocata 2,Vet_giocata,ruote,poste,clp
            Gioca esj,1,,1
            Scrivi
            If esj + 1 > EstrazioneFin Then Exit For
            Scrivi String(75,"-"),1
            Scrivi
            Scrivi "Controllo visivo Prima/Ultima Mese ",1,,,1,2
            Scrivi "Prima  Estrazione Mese " & DataEstrazione(es) & " - " & SiglaRuota(r) & " - " & StringaEstratti(es,r),1
            Scrivi "Ultima Estrazione Mese " & DataEstrazione(esj) & " - " & SiglaRuota(r) & " - " & StringaEstratti(esj,r),1
            Scrivi String(75,"-"),1
            Scrivi
         End If
       End If
      Next
  'next
   Scrivi String(100,"*")
   ColoreTesto 2
   Scrivi" casi trovati : " & co,1
   ColoreTesto 0
   Scrivi String(100," * ")
   ScriviResoconto
   TestoInBandaPassante(" Idea e Script by Maldor/BaffoBlù"),1,3,0
End Sub

si, sarebbe utile limitare l'analisi ai casi con solo 2 ripetizioni per avere solo 4 numeri

altrimenti i giochetti pondometrici che vorrei fare, penso non funzionerebbero
e sarebbe problematico se non impossibile farlo con più di 4 numeri

grazie della pazienza

grazie anche a tutti dei like, si vede che è un argomento che stuzzica... :)
 
Ciao Baffo. Ecco la versione limitata ai casi di due sole ripetizioni.
Codice:
Option Explicit
Sub Main
   Dim Vet_Controllo(90,5),Vet_ripetuti(20),pos,Num,Num1,k,kk,conta,conta1,conta2,Nr,Mat_estr_mod(21,5),Ultimo_indice,Vet_sv(5),Vet_somma_estr(21),Mat_sver(21,5),Mat_sver_mod(21,5),Mat_dver(21,5)
   Dim es,r,j,esj,ini,fin,co,se,sv,Stringa1,Stringa2,Stringa3,Vet_contr_sv(90,5),Mat_dver_mod(21,5),Vet_contr_dv(90,5),Vet_rip_sv(20),Vet_rip_dv(20)
   Dim col,som_rip,Matrice_Estratti(21,5),Tipo,Vet_giocata(10),Linea(5),conta_rip,clp,ok,col2,a,b,c,d,e,f,g,h
   Dim Tabs(30)
   Dim ruota(11)
   Dim ruote(11)
   Dim posta(10)
   Dim poste(10)
   clp = 18
   posta(1) = 1
   posta(2) = 1
   posta(3) = 1
   poste(2) = 1
   poste(3) = 1
   Tabs(1) = "Data":Tabs(2) = "Ruota":Tabs(3) = "Estratti"
   Tabs(4) = "1°":Tabs(5) = "2°":Tabs(6) = "3°":Tabs(7) = "4°":Tabs(8) = "5°":Tabs(9) = "Somme":Tabs(10) = "Somme -90"
   Tabs(11) = "S1":Tabs(12) = "S2":Tabs(13) = "S3":Tabs(14) = "S4":Tabs(15) = "S5"
   Tabs(16) = "D1":Tabs(17) = "D2":Tabs(18) = "D3":Tabs(19) = "D4":Tabs(20) = "D5"
   Tabs(21) = "S1":Tabs(22) = "S2":Tabs(23) = "S3":Tabs(24) = "S4":Tabs(25) = "S5"
   Tabs(26) = "D1":Tabs(27) = "D2":Tabs(28) = "D3":Tabs(29) = "D4":Tabs(30) = "D5"
   r = CInt(InputBox(" Scegli la ruota ",,"6"))
   col = CInt(InputBox("Scegli la colonna da analizzare                            Valori 1,2,3,4,5 per le somme                           Valori 6,7,8,9,10 per le differenze",,5))
   som_rip = CInt(InputBox("Scegli il valore della somma/differenza da ricercare",,39))
   ini = 8000 ' Inizio 2022 Circa
   Ultimo_indice = IndiceMensile(EstrazioneFin)
   If IsUltimaDelMese(EstrazioneFin) Then
      fin = EstrazioneFin
   Else
      fin = EstrazioneFin - Ultimo_indice
   End If
  
   ResetTimer
 '  For r = 1 To 11
      If r = 11 Then r = 12
      co = 0
      Scrivi FormatSpace(NomeRuota(r),80,True),1,,Giallo_,,4
      Scrivi
      For es = ini To fin
         Messaggio "elab. estr. [" &(es) & "] " & DataEstrazione(es,1) & " Elaborazione della ruota di " & NomeRuota(r)
         Call AvanzamentoElab(ini,fin,es)
         If IndiceMensile(es) = 1 Then
            Erase Vet_Controllo: Erase Vet_ripetuti: Erase Mat_estr_mod: Erase Vet_sv: Erase Vet_somma_estr:Erase Mat_sver: Erase Mat_dver:Erase Vet_contr_sv
            Erase Mat_sver_mod: Erase Mat_dver_mod:Erase Vet_contr_dv

            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  Vet_Controllo(Num,pos) = Vet_Controllo(Num,pos) + 1
                  Matrice_Estratti(j,pos) = Num
                  Mat_estr_mod(j,pos) = Num
                  Vet_sv(pos) = Vet_sv(pos) + Num
                  Vet_somma_estr(j) = Vet_somma_estr(j) + Num
                  If j > 0 Then
                        Mat_sver(j,pos) = Fuori90(Mat_estr_mod(j,pos) + Mat_estr_mod(j - 1,pos))
                        Mat_sver_mod(j,pos) = Mat_sver(j,pos)
                        Mat_dver(j,pos) = Fuori90(Abs(Mat_estr_mod(j,pos) - Mat_estr_mod(j - 1,pos)))
                        Mat_dver_mod(j,pos) = Mat_dver(j,pos)
                        Vet_contr_sv(Mat_sver(j,pos),pos) = Vet_contr_sv(Mat_sver(j,pos),pos) + 1
                        Vet_contr_dv(Mat_dver(j,pos),pos) = Vet_contr_dv(Mat_dver(j,pos),pos) + 1
                  End If
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  If Vet_Controllo(Num,pos) <> 2 Then Mat_estr_mod(j,pos) = "  "  ' "<>" solo due Ripetizioni, "<" anche più di due
                  Num1 = CInt(Mat_sver(j,pos))
                  If Vet_contr_sv(Num1,pos) <> 2 Then Mat_sver_mod(j,pos) = "  "
                  Num1 = CInt(Mat_dver(j,pos))
                  If Vet_contr_dv(Num1,pos) <> 2 Then Mat_dver_mod(j,pos) = "  "
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
                                                                                 'Verifica presenza somma/differenza richiesta
            ok = 0
            For j = 0 To 20
                If col <= 5 Then
                   If Mat_sver_mod(j,col) = som_rip Then ok = 1
                End If
                If col > 5 Then
                   If Mat_dver_mod(j,col - 5) = som_rip Then ok = 1
                End If
                If ok = 1 Then Exit For
            Next
         If ok = 1 Then
            co = co + 1
            Scrivi String(100,"°") & " Caso n°" & co,1
            conta = 0: conta1 = 0: conta2 = 0
            For k = 1 To 90
               For kk = 1 To 5
                  If Vet_Controllo(k,kk) > 1 Then
                     conta = conta + 1
                     Vet_ripetuti(conta) = k
                  End If
                  If Vet_contr_sv(k,kk) > 1 Then
                     conta1 = conta1 + 1
                     Vet_rip_sv(conta1) = k
                  End If
                  If Vet_contr_dv(k,kk) > 1 Then
                     conta2 = conta2 + 1
                     Vet_rip_dv(conta2) = k
                  End If
               Next
            Next
            Scrivi
            EliminaRipetuti Vet_ripetuti
            EliminaRipetuti Vet_rip_sv
            EliminaRipetuti Vet_rip_dv
            Scrivi
            Scrivi
                                                                              ' ************  TABELLA   *********
            Call InitTabella(Tabs,RGB(224,224,224),,,2,5)' inzializzazione
            ReDim tabs2(30)
            For j = 0 To 20
               esj = es + j
               tabs2(1) = DataEstrazione(esj)
               tabs2(2) = SiglaRuota(r)
               tabs2(3) = StringaEstratti(esj,r)
               For pos = 1 To 5
                  tabs2(3 + pos) = Mat_estr_mod(j,pos)
               Next
               tabs2(9) = Vet_somma_estr(j)
               tabs2(10) = Fuori90(Vet_somma_estr(j))
               For pos = 1 To 5
                    tabs2(10 + pos) = Mat_sver(j,pos) '*****************
                    tabs2(15 + pos) = Mat_dver(j,pos) '*****************
                    tabs2(20 + pos) = Mat_sver_mod(j,pos) '*****************
                    tabs2(25 + pos) = Mat_dver_mod(j,pos) '*****************
               Next
               Call AddRigaTabella(tabs2,,,2)
               Call SetColoreCella(9,6,0)
               Call SetColoreCella(10,4,2)
               For k = 1 To 5
                  Call SetColoreCella(k + 3,5,1)
                  Call SetColoreCella(20 + k,5,1)
                  Call SetColoreCella(25 + k,5,2)
               Next
            If IsUltimaDelMese(esj) Then Exit For
            Next
            Stringa1 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa1 = Stringa1 &(Vet_sv(pos)) & "."
            Next
            tabs2(1) = "Somma Verticale"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa1
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = "":tabs2(10) = ""
            tabs2(11) = "":tabs2(12) = "":tabs2(13) = "":tabs2(14) = "":tabs2(15) = "":tabs2(16) = "":tabs2(17) = "":tabs2(18) = "":tabs2(19) = "":tabs2(20) = ""
            tabs2(21) = "":tabs2(22) = "":tabs2(23) = "":tabs2(24) = "":tabs2(25) = "":tabs2(26) = "":tabs2(27) = "":tabs2(28) = "":tabs2(29) = "":tabs2(30) = ""
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,6,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,6,2)
            Stringa2 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa2 = Stringa2 & Fuori90(Vet_sv(pos)) & "."
            Next
            Stringa3 = ""
            For pos = 1 To 5
               If Vet_ripetuti(pos) > 0 Then Stringa3 = Stringa3 & Fuori90(Vet_ripetuti(pos)) & "."
            Next
            tabs2(1) = "Somma V. -90"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa2
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = ""::tabs2(10) = "":
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,4,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,4,2)
            tabs2(1) = "Nr ripetuti isotopi"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa3
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,3,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,3,2)
            Call CreaTabella()
            Scrivi
                                                                        
                                                                  'Ricerca colonnare su ruota
            Erase Linea: Erase Vet_giocata
            conta_rip = 0
            If col > 0 And col <= 5 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_sver_mod(j,col) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            If col > 5 And col <= 10 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_dver_mod(j,col - 5) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            col2 = col
            If col2 > 5 Then col2 = col2 - 5
            For k = 1 To conta_rip
               Vet_giocata((k - 1)*2 + 1) = Matrice_Estratti(Linea(k),col2)
               Vet_giocata((k - 1)*2 + 2) = Matrice_Estratti(Linea(k) - 1,col2)
            Next
            EliminaRipetuti(Vet_giocata)
            If col > 5 Then Scrivi "Differenza consecutivi isotopi = " & som_rip & " in posizione " & col - 5 & "   ",True,0,,2,2
            If col <= 5 Then Scrivi "Somma consecutivi isotopi = " & som_rip & " in posizione " & col & "   ",True,0,,1,2
            For k = 1 To conta_rip*2
                  If Vet_giocata(k) > 0 Then Scrivi Vet_giocata(k) & ".",1,False,,2
            Next
            If Vet_giocata(1) > 0 Then a = Vet_giocata(1): Scrivi "    a=" & a,1,False
            If Vet_giocata(2) > 0 Then b = Vet_giocata(2): Scrivi "    b=" & b,1,False
            If Vet_giocata(3) > 0 Then c = Vet_giocata(3): Scrivi "    c=" & c,1,False
            If Vet_giocata(4) > 0 Then d = Vet_giocata(4): Scrivi "    d=" & d,1,False
            If Vet_giocata(5) > 0 Then e = Vet_giocata(5): Scrivi "    e=" & e,1,False
            If Vet_giocata(6) > 0 Then f = Vet_giocata(6): Scrivi "    f=" & f,1,False
            If Vet_giocata(7) > 0 Then g = Vet_giocata(7): Scrivi "    g=" & g,1,False
            If Vet_giocata(8) > 0 Then h = Vet_giocata(8): Scrivi "    h=" & h,1,False
            Scrivi
            Scrivi String(100,"°"),1
            ruota(1) = r
            ruote(1) = 11
            ImpostaGiocata 1,Vet_giocata,ruota,posta,clp
            ImpostaGiocata 2,Vet_giocata,ruote,poste,clp
            Gioca esj,1,,1
            Scrivi
            If esj + 1 > EstrazioneFin Then Exit For
            Scrivi String(75,"-"),1
            Scrivi
            Scrivi "Controllo visivo Prima/Ultima Mese ",1,,,1,2
            Scrivi "Prima  Estrazione Mese " & DataEstrazione(es) & " - " & SiglaRuota(r) & " - " & StringaEstratti(es,r),1
            Scrivi "Ultima Estrazione Mese " & DataEstrazione(esj) & " - " & SiglaRuota(r) & " - " & StringaEstratti(esj,r),1
            Scrivi String(75,"-"),1
            Scrivi
         End If
       End If
      Next
  'next
   Scrivi String(100,"*")
   ColoreTesto 2
   Scrivi" casi trovati : " & co,1
   ColoreTesto 0
   Scrivi String(100," * ")
   ScriviResoconto
   TestoInBandaPassante(" Idea e Script by Maldor/BaffoBlù"),1,3,0
End Sub
 
Ciao Baffo. Ecco la versione limitata ai casi di due sole ripetizioni.
Codice:
Option Explicit
Sub Main
   Dim Vet_Controllo(90,5),Vet_ripetuti(20),pos,Num,Num1,k,kk,conta,conta1,conta2,Nr,Mat_estr_mod(21,5),Ultimo_indice,Vet_sv(5),Vet_somma_estr(21),Mat_sver(21,5),Mat_sver_mod(21,5),Mat_dver(21,5)
   Dim es,r,j,esj,ini,fin,co,se,sv,Stringa1,Stringa2,Stringa3,Vet_contr_sv(90,5),Mat_dver_mod(21,5),Vet_contr_dv(90,5),Vet_rip_sv(20),Vet_rip_dv(20)
   Dim col,som_rip,Matrice_Estratti(21,5),Tipo,Vet_giocata(10),Linea(5),conta_rip,clp,ok,col2,a,b,c,d,e,f,g,h
   Dim Tabs(30)
   Dim ruota(11)
   Dim ruote(11)
   Dim posta(10)
   Dim poste(10)
   clp = 18
   posta(1) = 1
   posta(2) = 1
   posta(3) = 1
   poste(2) = 1
   poste(3) = 1
   Tabs(1) = "Data":Tabs(2) = "Ruota":Tabs(3) = "Estratti"
   Tabs(4) = "1°":Tabs(5) = "2°":Tabs(6) = "3°":Tabs(7) = "4°":Tabs(8) = "5°":Tabs(9) = "Somme":Tabs(10) = "Somme -90"
   Tabs(11) = "S1":Tabs(12) = "S2":Tabs(13) = "S3":Tabs(14) = "S4":Tabs(15) = "S5"
   Tabs(16) = "D1":Tabs(17) = "D2":Tabs(18) = "D3":Tabs(19) = "D4":Tabs(20) = "D5"
   Tabs(21) = "S1":Tabs(22) = "S2":Tabs(23) = "S3":Tabs(24) = "S4":Tabs(25) = "S5"
   Tabs(26) = "D1":Tabs(27) = "D2":Tabs(28) = "D3":Tabs(29) = "D4":Tabs(30) = "D5"
   r = CInt(InputBox(" Scegli la ruota ",,"6"))
   col = CInt(InputBox("Scegli la colonna da analizzare                            Valori 1,2,3,4,5 per le somme                           Valori 6,7,8,9,10 per le differenze",,5))
   som_rip = CInt(InputBox("Scegli il valore della somma/differenza da ricercare",,39))
   ini = 8000 ' Inizio 2022 Circa
   Ultimo_indice = IndiceMensile(EstrazioneFin)
   If IsUltimaDelMese(EstrazioneFin) Then
      fin = EstrazioneFin
   Else
      fin = EstrazioneFin - Ultimo_indice
   End If
 
   ResetTimer
 '  For r = 1 To 11
      If r = 11 Then r = 12
      co = 0
      Scrivi FormatSpace(NomeRuota(r),80,True),1,,Giallo_,,4
      Scrivi
      For es = ini To fin
         Messaggio "elab. estr. [" &(es) & "] " & DataEstrazione(es,1) & " Elaborazione della ruota di " & NomeRuota(r)
         Call AvanzamentoElab(ini,fin,es)
         If IndiceMensile(es) = 1 Then
            Erase Vet_Controllo: Erase Vet_ripetuti: Erase Mat_estr_mod: Erase Vet_sv: Erase Vet_somma_estr:Erase Mat_sver: Erase Mat_dver:Erase Vet_contr_sv
            Erase Mat_sver_mod: Erase Mat_dver_mod:Erase Vet_contr_dv

            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  Vet_Controllo(Num,pos) = Vet_Controllo(Num,pos) + 1
                  Matrice_Estratti(j,pos) = Num
                  Mat_estr_mod(j,pos) = Num
                  Vet_sv(pos) = Vet_sv(pos) + Num
                  Vet_somma_estr(j) = Vet_somma_estr(j) + Num
                  If j > 0 Then
                        Mat_sver(j,pos) = Fuori90(Mat_estr_mod(j,pos) + Mat_estr_mod(j - 1,pos))
                        Mat_sver_mod(j,pos) = Mat_sver(j,pos)
                        Mat_dver(j,pos) = Fuori90(Abs(Mat_estr_mod(j,pos) - Mat_estr_mod(j - 1,pos)))
                        Mat_dver_mod(j,pos) = Mat_dver(j,pos)
                        Vet_contr_sv(Mat_sver(j,pos),pos) = Vet_contr_sv(Mat_sver(j,pos),pos) + 1
                        Vet_contr_dv(Mat_dver(j,pos),pos) = Vet_contr_dv(Mat_dver(j,pos),pos) + 1
                  End If
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
            For j = 0 To 20
               esj = es + j
               For pos = 1 To 5
                  Num = Estratto(esj,r,pos)
                  If Vet_Controllo(Num,pos) <> 2 Then Mat_estr_mod(j,pos) = "  "  ' "<>" solo due Ripetizioni, "<" anche più di due
                  Num1 = CInt(Mat_sver(j,pos))
                  If Vet_contr_sv(Num1,pos) <> 2 Then Mat_sver_mod(j,pos) = "  "
                  Num1 = CInt(Mat_dver(j,pos))
                  If Vet_contr_dv(Num1,pos) <> 2 Then Mat_dver_mod(j,pos) = "  "
               Next
               If IsUltimaDelMese(esj) Then Exit For
            Next
                                                                                 'Verifica presenza somma/differenza richiesta
            ok = 0
            For j = 0 To 20
                If col <= 5 Then
                   If Mat_sver_mod(j,col) = som_rip Then ok = 1
                End If
                If col > 5 Then
                   If Mat_dver_mod(j,col - 5) = som_rip Then ok = 1
                End If
                If ok = 1 Then Exit For
            Next
         If ok = 1 Then
            co = co + 1
            Scrivi String(100,"°") & " Caso n°" & co,1
            conta = 0: conta1 = 0: conta2 = 0
            For k = 1 To 90
               For kk = 1 To 5
                  If Vet_Controllo(k,kk) > 1 Then
                     conta = conta + 1
                     Vet_ripetuti(conta) = k
                  End If
                  If Vet_contr_sv(k,kk) > 1 Then
                     conta1 = conta1 + 1
                     Vet_rip_sv(conta1) = k
                  End If
                  If Vet_contr_dv(k,kk) > 1 Then
                     conta2 = conta2 + 1
                     Vet_rip_dv(conta2) = k
                  End If
               Next
            Next
            Scrivi
            EliminaRipetuti Vet_ripetuti
            EliminaRipetuti Vet_rip_sv
            EliminaRipetuti Vet_rip_dv
            Scrivi
            Scrivi
                                                                              ' ************  TABELLA   *********
            Call InitTabella(Tabs,RGB(224,224,224),,,2,5)' inzializzazione
            ReDim tabs2(30)
            For j = 0 To 20
               esj = es + j
               tabs2(1) = DataEstrazione(esj)
               tabs2(2) = SiglaRuota(r)
               tabs2(3) = StringaEstratti(esj,r)
               For pos = 1 To 5
                  tabs2(3 + pos) = Mat_estr_mod(j,pos)
               Next
               tabs2(9) = Vet_somma_estr(j)
               tabs2(10) = Fuori90(Vet_somma_estr(j))
               For pos = 1 To 5
                    tabs2(10 + pos) = Mat_sver(j,pos) '*****************
                    tabs2(15 + pos) = Mat_dver(j,pos) '*****************
                    tabs2(20 + pos) = Mat_sver_mod(j,pos) '*****************
                    tabs2(25 + pos) = Mat_dver_mod(j,pos) '*****************
               Next
               Call AddRigaTabella(tabs2,,,2)
               Call SetColoreCella(9,6,0)
               Call SetColoreCella(10,4,2)
               For k = 1 To 5
                  Call SetColoreCella(k + 3,5,1)
                  Call SetColoreCella(20 + k,5,1)
                  Call SetColoreCella(25 + k,5,2)
               Next
            If IsUltimaDelMese(esj) Then Exit For
            Next
            Stringa1 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa1 = Stringa1 &(Vet_sv(pos)) & "."
            Next
            tabs2(1) = "Somma Verticale"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa1
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = "":tabs2(10) = ""
            tabs2(11) = "":tabs2(12) = "":tabs2(13) = "":tabs2(14) = "":tabs2(15) = "":tabs2(16) = "":tabs2(17) = "":tabs2(18) = "":tabs2(19) = "":tabs2(20) = ""
            tabs2(21) = "":tabs2(22) = "":tabs2(23) = "":tabs2(24) = "":tabs2(25) = "":tabs2(26) = "":tabs2(27) = "":tabs2(28) = "":tabs2(29) = "":tabs2(30) = ""
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,6,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,6,2)
            Stringa2 = ""
            For pos = 1 To 5
               If Vet_sv(pos) > 0 Then Stringa2 = Stringa2 & Fuori90(Vet_sv(pos)) & "."
            Next
            Stringa3 = ""
            For pos = 1 To 5
               If Vet_ripetuti(pos) > 0 Then Stringa3 = Stringa3 & Fuori90(Vet_ripetuti(pos)) & "."
            Next
            tabs2(1) = "Somma V. -90"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa2
            tabs2(4) = "":tabs2(5) = "":tabs2(6) = "":tabs2(7) = "":tabs2(8) = "":tabs2(9) = ""::tabs2(10) = "":
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,4,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,4,2)
            tabs2(1) = "Nr ripetuti isotopi"
            tabs2(2) = SiglaRuota(r)
            tabs2(3) = Stringa3
            Call AddRigaTabella(tabs2,,,2)
            Call SetColoreCella(1,3,2):Call SetColoreCella(2,5,2):Call SetColoreCella(3,3,2)
            Call CreaTabella()
            Scrivi
                                                                       
                                                                  'Ricerca colonnare su ruota
            Erase Linea: Erase Vet_giocata
            conta_rip = 0
            If col > 0 And col <= 5 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_sver_mod(j,col) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            If col > 5 And col <= 10 Then
                 For j = 0 To 20
                    esj = es + j
                    If som_rip = Mat_dver_mod(j,col - 5) Then
                        conta_rip = conta_rip + 1
                        Linea(conta_rip) = j
                    End If
                    If IsUltimaDelMese(esj) Then Exit For
                 Next
            End If
            col2 = col
            If col2 > 5 Then col2 = col2 - 5
            For k = 1 To conta_rip
               Vet_giocata((k - 1)*2 + 1) = Matrice_Estratti(Linea(k),col2)
               Vet_giocata((k - 1)*2 + 2) = Matrice_Estratti(Linea(k) - 1,col2)
            Next
            EliminaRipetuti(Vet_giocata)
            If col > 5 Then Scrivi "Differenza consecutivi isotopi = " & som_rip & " in posizione " & col - 5 & "   ",True,0,,2,2
            If col <= 5 Then Scrivi "Somma consecutivi isotopi = " & som_rip & " in posizione " & col & "   ",True,0,,1,2
            For k = 1 To conta_rip*2
                  If Vet_giocata(k) > 0 Then Scrivi Vet_giocata(k) & ".",1,False,,2
            Next
            If Vet_giocata(1) > 0 Then a = Vet_giocata(1): Scrivi "    a=" & a,1,False
            If Vet_giocata(2) > 0 Then b = Vet_giocata(2): Scrivi "    b=" & b,1,False
            If Vet_giocata(3) > 0 Then c = Vet_giocata(3): Scrivi "    c=" & c,1,False
            If Vet_giocata(4) > 0 Then d = Vet_giocata(4): Scrivi "    d=" & d,1,False
            If Vet_giocata(5) > 0 Then e = Vet_giocata(5): Scrivi "    e=" & e,1,False
            If Vet_giocata(6) > 0 Then f = Vet_giocata(6): Scrivi "    f=" & f,1,False
            If Vet_giocata(7) > 0 Then g = Vet_giocata(7): Scrivi "    g=" & g,1,False
            If Vet_giocata(8) > 0 Then h = Vet_giocata(8): Scrivi "    h=" & h,1,False
            Scrivi
            Scrivi String(100,"°"),1
            ruota(1) = r
            ruote(1) = 11
            ImpostaGiocata 1,Vet_giocata,ruota,posta,clp
            ImpostaGiocata 2,Vet_giocata,ruote,poste,clp
            Gioca esj,1,,1
            Scrivi
            If esj + 1 > EstrazioneFin Then Exit For
            Scrivi String(75,"-"),1
            Scrivi
            Scrivi "Controllo visivo Prima/Ultima Mese ",1,,,1,2
            Scrivi "Prima  Estrazione Mese " & DataEstrazione(es) & " - " & SiglaRuota(r) & " - " & StringaEstratti(es,r),1
            Scrivi "Ultima Estrazione Mese " & DataEstrazione(esj) & " - " & SiglaRuota(r) & " - " & StringaEstratti(esj,r),1
            Scrivi String(75,"-"),1
            Scrivi
         End If
       End If
      Next
  'next
   Scrivi String(100,"*")
   ColoreTesto 2
   Scrivi" casi trovati : " & co,1
   ColoreTesto 0
   Scrivi String(100," * ")
   ScriviResoconto
   TestoInBandaPassante(" Idea e Script by Maldor/BaffoBlù"),1,3,0
End Sub
Scusa il ritardo, non avevo connessione internet...

ottimo maldor, Grazie.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 20 dicembre 2024
    Bari
    19
    01
    78
    60
    05
    Cagliari
    25
    70
    87
    36
    23
    Firenze
    70
    45
    42
    37
    85
    Genova
    28
    39
    49
    41
    42
    Milano
    78
    52
    79
    85
    49
    Napoli
    10
    17
    06
    50
    04
    Palermo
    26
    40
    66
    16
    51
    Roma
    43
    26
    86
    19
    50
    Torino
    76
    38
    49
    46
    09
    Venezia
    45
    73
    56
    08
    04
    Nazionale
    79
    25
    38
    54
    72
    Estrazione Simbolotto
    Venezia
    20
    11
    02
    13
    09
Indietro
Alto