Novità

Qualcuno riesce?

Marcorun

Advanced Member >GOLD<
Mi servirebbe uno script che restituisca una tabella con il ritardo che avevano i numeri estratti.
possibilmente su un range di 20 estrazioni e che potesse girare su archivio FT.
Grazie!
(Se qualcuno ha qualcosa di simile x il lotto, forse riesco a trasformarlo x archivio FT)
(y)
 
Personalmente non so fare gli script e, tantomeno, so cosa sia un archivio FT
e non so nemmeno se ho capito cosa voleva
Proprio per questo :giggle: ho provato a fare una macro per Excel (come suona bene! Ho provato. In realtà mi sono limitato a chiedere una macro alla AI su quanto avevo capito io (orrrrrore!)
Non so se le può servire, non ho neanche controllato se i risultati sono corretti. Ma, magari, il mio ntervento smuove i sapientoni che nascondono la testa sotto la sabbia. A che serve un Forum se neanche rispondete?

Sub RitardiOrizzontali()
Dim wsArchivio As Worksheet
Dim wsRisultati As Worksheet
Dim ultimaRiga As Long, i As Long, j As Long, k As Long

' Imposta i fogli di lavoro
Set wsArchivio = ThisWorkbook.Sheets("Archivio")

' Crea nuovo foglio per i risultati se non esiste
On Error Resume Next
Set wsRisultati = ThisWorkbook.Sheets("Ritardi_Estratti")
On Error GoTo 0

If wsRisultati Is Nothing Then
Set wsRisultati = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
wsRisultati.Name = "Ritardi_Estratti"
Else
wsRisultati.Cells.Clear
End If

' Trova l'ultima riga con dati
ultimaRiga = wsArchivio.Cells(wsArchivio.Rows.Count, "A").End(xlUp).Row

' Array delle ruote con le loro colonne
Dim ruote As Variant
ruote = Array("Bari|D:H", "Cagliari|I:M", "Firenze|N:R", "Genova|S:W", "Milano|X:AB", _
"Napoli|AC:AG", "Palermo|AH:AL", "Roma|AM:AQ", "Torino|AR:AV", "Venezia|AW:BA", "Nazionale|BB:BF")

' Intestazioni prima riga
wsRisultati.Cells(1, 1) = "Data"
Dim colHeader As Long
colHeader = 2

For r = 0 To UBound(ruote)
Dim ruotaNome As String
ruotaNome = Split(ruote(r), "|")(0)

For n = 1 To 5
wsRisultati.Cells(1, colHeader) = ruotaNome & " N" & n
wsRisultati.Cells(1, colHeader + 1) = "Rit."
colHeader = colHeader + 2
Next n

' Aggiungi colonna separatrice dopo ogni ruota (tranne l'ultima)
If r < UBound(ruote) Then
wsRisultati.Cells(1, colHeader) = ""
colHeader = colHeader + 1
End If
Next r

' Righe dati
Dim rigaRisultati As Long
rigaRisultati = 2

' Per le ultime 20 estrazioni
For i = ultimaRiga To ultimaRiga - 19 Step -1
' Scrivi la data
wsRisultati.Cells(rigaRisultati, 1) = wsArchivio.Cells(i, 3).Value

' Colonna di partenza per i numeri e ritardi
Dim colRisultati As Long
colRisultati = 2

' Per ogni ruota
For r = 0 To UBound(ruote)
Dim colInizio As String, colFine As String
colInizio = Split(Split(ruote(r), "|")(1), ":")(0)
colFine = Split(Split(ruote(r), "|")(1), ":")(1)

' Per ogni numero nella ruota
For col = Range(colInizio & "1").Column To Range(colFine & "1").Column
Dim numeroEstratto As Long
numeroEstratto = wsArchivio.Cells(i, col).Value

' Se è un numero valido
If numeroEstratto > 0 Then
' Calcola il ritardo
Dim ritardo As Long
ritardo = 0

' Controlla le estrazioni precedenti
For j = i - 1 To 9 Step -1
Dim trovato As Boolean
trovato = False

' Cerca il numero nella stessa ruota
For k = Range(colInizio & "1").Column To Range(colFine & "1").Column
If wsArchivio.Cells(j, k).Value = numeroEstratto Then
trovato = True
Exit For
End If
Next k

If trovato Then
Exit For
Else
ritardo = ritardo + 1
End If
Next j

' Scrivi numero e ritardo
wsRisultati.Cells(rigaRisultati, colRisultati) = numeroEstratto
wsRisultati.Cells(rigaRisultati, colRisultati + 1) = ritardo
End If

colRisultati = colRisultati + 2
Next col

' Aggiungi colonna separatrice dopo ogni ruota (tranne l'ultima)
If r < UBound(ruote) Then
wsRisultati.Cells(rigaRisultati, colRisultati) = ""
colRisultati = colRisultati + 1
End If
Next r

rigaRisultati = rigaRisultati + 1
Next i

' Formattazione
With wsRisultati.Range("A1").CurrentRegion
.Borders.LineStyle = xlContinuous
.HorizontalAlignment = xlCenter
With .Rows(1)
.Font.Bold = True
.Interior.ColorIndex = 15
End With

' Colora le colonne separatrici
Dim sepCol As Long
sepCol = 12 ' Prima colonna separatrice (dopo i primi 5 numeri e ritardi di Bari)
Do While sepCol <= .Columns.Count
.Columns(sepCol).Interior.ColorIndex = 15
sepCol = sepCol + 11 ' Prossima colonna separatrice (5 numeri * 2 colonne + 1 separatore = 11)
Loop
End With

' Adatta larghezza colonne
wsRisultati.Columns.AutoFit

' Imposta una larghezza minima per le colonne separatrici
sepCol = 12
Do While sepCol <= wsRisultati.Range("A1").CurrentRegion.Columns.Count
wsRisultati.Columns(sepCol).ColumnWidth = 2
sepCol = sepCol + 11
Loop

MsgBox "Analisi completata! I risultati sono nel foglio 'Ritardi_Estratti'."
End Sub

Il risultato della macro:

1739481258362.png
Salutammo
Baciccia
 
Ciao.....sei proprio bravo...era proprio quello che intendevo.
Peccato che di macro non so assolutamente niente, gli script a volte riesco ad aggiustarli x quello che voglio.
Come ben dici tu, si è qui anche x condividere, e di gente preparata c'è ne tanta (tipo il grande MIKE 58,che ogni tanto mi da qualche dritta),ma a volte certe richieste sembrano troppo banali (x gli esperti) che non degnano di attenzione.
GRAZIE tante.
P.S. L'archivio FT si imposta all'inizio di uno script x cercare un file di testo salvato , così che si può usare il tutto x varie lotterie.
Nel mio caso l'avrei usato x il million day ,che ultimamente mi attrae.👋
 
La AI m dice: No, hai ragione - mi scuso per l'errore. Il ritardo del ritardo è in realtà il numero di estrazioni che passa prima che un ritardo si ripresenti uguale.

Prima aveva detto è la differenza, in valore assoluto, tra gli ultimi due ritardi (che mi prendesse in giro? A volte lo sospetto)

Se la definizione è corretta la macro l'ho già fatta

1739547707739.png
Baciccia
 
Credo che sia proprio così,il problema però è sempre lo stesso.....Macro tabù...script forse!
Sei molto gentile Grazie!
 
Mi servirebbe uno script che restituisca una tabella con il ritardo che avevano i numeri estratti.
possibilmente su un range di 20 estrazioni e che potesse girare su archivio FT.
Grazie!
(Se qualcuno ha qualcosa di simile x il lotto, forse riesco a trasformarlo x archivio FT)
(y)
E' un lavoro molto più ampio del bravo Mike58.
Vedi tu come adattarlo al tuo archivio, adesso opererebbe su un archivio x MillionDay (55 numeri)

Codice:
Sub Main
     Dim nu(5),T,V,aN(55)
     Dim sFileBd
     Dim sChrSep
     sChrSep = ","
     sFileBd = ScegliFile("C:\Mike58\Desktop\.txt") ' Percorso FileTesto
     'Call ApriBaseDatiFT(sFileBd,6,sChrSep,90) ' x Sivicetutto
     'Call ApriBaseDatiFT(sFileBd,5,sChrSep,40) ' x VinciCasa
     Call ApriBaseDatiFT(sFileBd,5,sChrSep,55) ' x MillionDay
     Ini = 1' EstrazioniArchivioFT - 20
     fin = EstrazioniArchivioFT - 1
     fine = EstrazioniArchivioFT
     ReDim T(57)'--------------------------------------------------------
     T(1) = "info data"
     T(2) = "Estratti"
     For x = 1 To 55
          T(x + 2) = Format2(x)
     Next
     Call InitTabella(T)
     For es = Ini To fine
          'For r = 1 To 1
          ReDim V(57)'------------------------------------------------------
          V(1) = GetInfoEstrazioneFT(es)
          V(2) = StringaEstrattiFT(es)
          For xx = 1 To 55
               aN(xx) = ""
               'aN(xx) = xx
               For p = 1 To 5
                    nu(p) = EstrattoFT(es,p)
                    If nu(p) = xx Then aN(xx) = aN(xx) & nu(p)
                    If nu(p) = xx Then kk = kk + 1
                    V(xx + 2) = aN(xx)
               Next
          Next
          Call AddRigaTabella(V)
     Next
     ReDim VV(57)
     For xxx = 1 To 55
          aa = EstrattoFrequenzaFT(xxx,Ini,fine)
          VV(1) = "Presenze"
          VV(xxx + 2) = aa
     Next
     Call AddRigaTabella(VV,3)
     ReDim VVV(57)
     For xxx = 1 To 55
          aa = EstrattoRitardoFT(xxx,Ini,fine)
          VVV(1) = "Ritardo"
          VVV(xxx + 2) = aa
     Next
     Call AddRigaTabella(VVV,6)
     ReDim VVVv(57)
     For xxx = 1 To 55
          aa = EstrattoStoricoFT(xxx,Ini,fine)
          VVVv(1) = "Rit Storico"
          VVVv(xxx + 2) = aa
     Next
     Call AddRigaTabella(VVVv,7)
     Call SetTableWidth("100%")
     CreaTabella
     For y = 1 To 40
          n = EstrattoFrequenzaFT(y,Ini,fin)
          m = EstrattoRitardoFT(y,Ini,fin)
          o = EstrattoStoricoFT(y,Ini,fin)
          If n > 0 And m = o Then
               kn = kn + 1
               ReDim Preserve aNum(kn)
               aNum(kn) = y
               ReDim Preserve aRit(kn)
               aRit(kn) = m
               Call VerificaEsitoFT(aNum,fine,1,1,esito,,es1)
          End If
     Next
     Scrivi "Numeri per Gioco  : " & StringaNumeri(aNum,,1) & " ( " & kn & " )" & vbTab & esito & vbTab & es1,1
     Scrivi "Numeri in Ritardo : " & StringaNumeri(aRit,,1),1,,,1
End Sub

Saluti
 
Giusto! c'è anche Claudio spesso disponibile che ringrazio tanto.
Lo script gira bene sul mio archivio txt ,ma non vedo i ritardi che avevano gli estratti caduti!
 
Io non lo ho testato, non ho file archivio .txt
Se vuoi modifiche allega l'archivio.
Ciao
Speravo che fossi tu ad intervenire. Grande claudio8. Altrimenti non saprò mai se la macro che ha fatto la AI dà i risultati corretti o no.
In realtà ho due macro, concordano quasi su nulla.
Poi ne ho una terza che mi dà questo:
1739560619368.png

Ma come faccio a sapere se è corretta o no? In attesa del TXT per controllare
Ti saluto
Baciccia
 
Ciao scusa Baci ma vi è un 88 ^ a ritardo zero !

Vedi l'allegato 2297559
A Ritardo 0, ci sono gli ultimi 5 estratti. Essendo appena usciti hanno azzerato i loro ritardi

Come al lotto:

1739561469476.png

Il vero problema è che non ho la più pallida idea se l'archivio è corretto, non ho trovato un archivio completo in TXT, ho usato (acc. non ricordo cosa) per costruirlo da pezzi presi un po' qua e un po' là.
Se verrà pubblicato il TXT potrò controllare (se me ne ricordo)
Ho scoperto adesso che in una stessa data vi sono più estrazioni (esperto fai da te di Million Day).
Ad esempio nel mio archivio ci sono due estrazioni il 29/01/2025
1739562976286.png

Mentre nel file TXT postato ce ne sono 4:

1739563134238.png

Internet dice questo:
Le estrazioni MillionDay avvengono ogni giorno alle ore 13:00 (estrazione diurna) e alle 20:30 (estrazione serale)
Da dove escono le due in più sul file TXT?

Devo rivedere le macro la AI avrà considerato che le estraioni giornaliere sono due?

Ciao
Baciccia
 

Allegati

  • 1739562872373.png
    1739562872373.png
    8,5 KB · Visite: 1
  • 1739562930596.png
    1739562930596.png
    3,6 KB · Visite: 1
Ultima modifica:
Sono le extra.....è un archivio modificato....x il gioco delle estrazioni anche extra....le ho messe una dopo l'altra....
 
Perdonami : sono numeri estratti che vanno da 1 a 55

trovato

l'88 è il concorso
che è finito negli estratti, una svista.


1739563246192.png
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 05 aprile 2025
    Bari
    10
    58
    03
    61
    14
    Cagliari
    04
    67
    36
    85
    87
    Firenze
    70
    45
    80
    62
    06
    Genova
    05
    66
    32
    59
    89
    Milano
    20
    56
    02
    87
    47
    Napoli
    60
    63
    75
    72
    06
    Palermo
    14
    80
    30
    76
    70
    Roma
    73
    42
    36
    79
    08
    Torino
    26
    74
    83
    78
    31
    Venezia
    06
    60
    85
    76
    40
    Nazionale
    44
    11
    71
    06
    37
    Estrazione Simbolotto
    Genova
    26
    14
    36
    31
    44
Indietro
Alto