bonjour à tous,
@Eric Kergresse,
voici mon code spécifique pour la question de Pauloea
Sub gen()
Dim i&, j&, k&, s$, ctr&
For i = 1 To 12 ' lettres pour 1ere position
ctr = ctr + 1
Cells(ctr, 1) = Chr(i + 64) 'code à une lettre
For j = i + 1 To 12 ' lettres pour 2ème position
ctr = ctr + 1
Cells(ctr, 1) = Chr(i + 64) & Chr(j + 64) 'code à 2 lettres
For k = j + 1 To 12 'lettres pour 3ème position
ctr = ctr + 1
Cells(ctr, 1) = Chr(i + 64) & Chr(j + 64) & Chr(k + 64) ' code à 3 lettres
Next k
Next j
Next i
End Sub
ou celui-ci plus générique (et basé sur un algorithme récursif)
Dim ctr&
Sub gen()
Dim m$
m$ = "ABCDEFGHIJKL" 'lettres possibles
ctr = 0
combi 1, m 'code à 1 lettre
combi 2, m 'code à 2 lettres
combi 3, m 'code à 3 lettres
End Sub
Sub combi(n&, m$, Optional niveau& = 1, Optional ni& = 1, Optional s$ = "")
Dim olds$, i&
olds = s
For i = ni To Len(m)
s = s & Mid(m, i, 1)
If n = niveau Then
ctr = ctr + 1
Cells(ctr, 1) = s
Else
combi n, m, niveau + 1, i + 1, s
End If
s = olds
Next i
End Sub