00 13/04/2024 21:27
Mario, ho fatto un discorso inutile
ho solo corretto la tua svista (verosimilmente tale) che mi era balzata all'occhio
e
FUNZIONA !!

asp qualche minuto, ecco intanto la macro, è stato sufficiente cambiare DEPOS(27,3) in DEPOS (q,p)
Be' direi che se la cava egregiamente

Macro
Option Explicit
Sub Mario()
'Algoritmo alternativo per l'enumerazione di combinazioni, che nel caso del Totocalcio si chiamano Disposizioni con Ripetizione: 3^partite
Dim a As Long, b As Long, c As Long, i As Long, j As Long, k As Long, p As Long, q As Long, r As Long
Dim st(2) As String, se(2) As Long, t As Single
Dim oArr, depos As Range, col As Long, segni As Long
Range("D:P").ClearContents
st(0) = "1": st(1) = "X": st(2) = "2"
se(0) = 1: se(1) = 2: se(2) = 3
Range("D:F").ClearContents
r = Range("A3") 'partite richieste
q = 3 ^ r 'colonne che saranno sviluppate
p = 0: While 3 ^ p < q: p = p + 1: Wend

'sviluppo ternario
'algoritmo universale semplice al posto di numerosi cicli FOR
Application.ScreenUpdating = False
'ReDim se(0 To q - 1, 0 To 2)'se inserisco questa linea e quello piu sotto si incasina il tutto
ReDim oArr(0 To q - 1, 0 To p - 1) 'matrice
Set depos = Range("D1") 'posizione di scrittura
t = Timer
For i = 0 To q - 1: k = i
For j = p - 1 To 0 Step -1
oArr(i, j) = st(k Mod 3) 'assegna alla matrice
k = k \ 3
Next
Next
depos.Resize(q, p) = oArr
Application.ScreenUpdating = True
Range("A1").Value = Timer - t
Range("A2").Value = q
Range("A3").Select
End Sub

11 partite in 1,625 secondi, più che buono per essere Excel
in effetti sembra che il DEPOS velocizzi la scrittura di 9 o 10 volte, interessante
Caspita, ma il ringraziamento c'era comunque
Ti rimando il mio file che contiene sia il NON depos (CTRL+M) che il tuo depos (CTRL+N)
AD MAIORA !!
[Modificato da L2018 14/04/2024 11:05]

LEO
https://t.me/LordBrum