Hello,

J'ai voulu repiquer un code dans la FAQ VBA, plus précisement celui qui concerne le moyen d'obtenir la valeur en lettre de la colonne (ici), et je me suis aperçu qu'il y avait un souci.

En effet, pour les colonnes en "Z" (AZ, BZ etc...) la valeur retournée est incorrecte. Par exemple, pour la colonne 52, la valeur retournée est B@ et non AZ. C'est un effet de bord lié au "Mod 26"

En ce qui me concerne, j'ai modifié le code comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Public Function GetColLetter(NumCol As Integer) As String
'obtenir un numéro de colonne
Dim temp As String
 
If NumCol > 26 Then
    temp = IIf(NumCol Mod 26 <> 0, Chr(64 + NumCol \ 26) & Chr(64 + NumCol Mod 26), Chr(63 + NumCol \ 26) & "Z")
Else
    temp = Chr(64 + NumCol)
End If
 
GetColLetter = temp
End Function
Graf.