Bug dans un code la FAQ VBA?
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" :P
En ce qui me concerne, j'ai modifié le code comme suit:
Code:
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.