reBjr,
Merci pour vos réponses. Je vais les étudier.
Mais pour une fois, j'y suis arrivé tout seul, à l'aide de trois petites boucles (les deux premières ne pouvant être exécutées qu'une fois d'ailleurs) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer, j As Integer, x As Integer, s As Integer
Dim lettre As String
Dim tablo()
On Error Resume Next
Cells(1, 1).Value = UCase(Cells(1, 1).Value)
For i = 0 To 25
lettre = Chr(i + 65)
ReDim Preserve tablo(i)
tablo(i) = lettre
Next
For j = 0 To 25
For r = 0 To 25
lettre = tablo(j) & tablo(r)
x = UBound(tablo) + 1
ReDim Preserve tablo(x)
tablo(x) = lettre
Next
Next
For s = 0 To UBound(tablo)
If tablo(s) = Cells(1, 1).Value Then
Cells(1, 1).Value = tablo(s + 1)
Exit Sub
End If
Next
End Sub
Ça vaut ce que ça vaut, mais je suis pas peu fier !