165 votes

Fonction pour convertir un numéro de colonne en lettre ?

Quelqu'un dispose-t-il d'une fonction Excel VBA permettant de retourner la ou les lettres de la colonne d'un nombre ?

Par exemple, en saisissant 100 devrait retourner CV .

-1voto

Gabriel V Points 1

Ceci est seulement pour le REFEDIT ... en général, utilisez le code ci-dessus. version abrégée... facile à lire et à comprendre... il utilise poz de $

Private Sub RefEdit1_Change()

    Me.Label1.Caption = NOtoLETTER(RefEdit1.Value) ' you may assign to a variable  var=....'

End Sub

Function NOtoLETTER(REFedit)

    Dim First As Long, Second As Long

    First = InStr(REFedit, "$")                 'first poz of $
    Second = InStr(First + 1, REFedit, "$")     'second poz of $

    NOtoLETTER = Mid(REFedit, First + 1, Second - First - 1)   'extract COLUMN LETTER

End Function

-2voto

PEDRO COUTO Points 1

Cap A est de 65 so :

MsgBox Chr(ActiveCell.Column + 64)

Trouvé dans : http://www.vbaexpress.com/forum/showthread.php?6103-Solved-get-column-letter

-2voto

beef_supreme Points 1

Pourquoi ne pas simplement convertir en nombre ascii et utiliser Chr() pour reconvertir en lettre ?

col_letter = Chr(Selection.Column + 96)

-6voto

Mike Powell Points 90

Voici un autre moyen :

{

      Sub find_test2()

            alpha_col = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,W,Z" 
            MsgBox Split(alpha_col, ",")(ActiveCell.Column - 1) 

      End Sub

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X