Convertir les numéros de colonnes Excel en caractères alphabétiques en VB

VBA-Excel-Ban

Si vous vous êtes déjà essayé au VBA dans Microsoft Excel, vous aurez peut-être déjà été confronté à cette question…

Lorsque vous recherchez par exemple l’adresses d’une cellule, VBA vous renvoi un numéro de ligne et de colonne. Si le numéro de ligne est facilement compréhensible, il n’est en revanche pas aussi aisé de pouvoir ré-utiliser le numéro de colonne qui n’est plus une lettre et ne peut donc pas être ré-utilisé dans votre code en tant qu’adresse pour vous déplacer, récupérer de l’info ou toute autre opération !

La fonction ConvertToLetter suivante vous permettra heureusement de convertir rapidement et simplement un numéro de colonne en adresse lettrée au format Excel.


Function ConvertToLetter(iCol As Integer) As String
Dim iAlpha As Integer
Dim iRemainder As Integer
iAlpha = Int(iCol / 27)
iRemainder = iCol - (iAlpha * 26)
If iAlpha > 0 Then
ConvertToLetter = Chr(iAlpha + 64)
End If
If iRemainder > 0 Then
ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
End If
End Function

Exemple :


MsgBox "30 équivant à " & ConvertToLetter(30)

vba

Solution fournie par Microsoft – http://support.microsoft.com/kb/833402