Vous pouvez facilement déterminer la colonne numérique de la cellule à l’aide de la fonction COLONNE. Tout ce que vous avez à faire est de mettre une formule comme celle-ci dans une cellule, et le résultat est une valeur où A = 1, B = 2, etc.:

=COLUMN()

Que faire si vous voulez une valeur alphabétique plutôt qu’une valeur numérique? Cela peut être fait de plusieurs manières différentes. Par exemple, la formule suivante fonctionnera très bien pour les 26 premières colonnes, de A à Z:

=CHAR(COLUMN()+64)

Cela fonctionne car les lettres A à Z utilisent les codes de caractère 65 à 90. Lorsque COLUMN renvoie une valeur pour les colonnes A à Z (1 à 26), cela peut être ajouté à 64 pour obtenir les lettres de ces colonnes, 65 à 90. Retour au début

Bien sûr, cette solution ne fonctionnera pas si vous voulez connaître les désignations des lettres des colonnes au-delà de Z. (Excel peut utiliser des colonnes jusqu’à IV.)

Cette formule fonctionnera pour les colonnes à un et à deux caractères:

=IF(COLUMN()<27,CHAR(COLUMN()+64),CHAR((COLUMN()/26)+64)& CHAR(MOD(COLUMN(),26)+64))

Comme vous pouvez le constater, lorsque vous entrez plusieurs caractères pour une colonne, la formule s’allonge assez rapidement. Cependant, vous pouvez raccourcir la formule en utilisant une fonction autre que COLUMN. Considérez cette formule, qui repose principalement sur la fonction ADDRESS:

=LEFT(ADDRESS(1,COLUMN(),4),(COLUMN()>26)+1)

La fonction ADRESSE renvoie l’adresse d’une cellule spécifique. Dans ce cas, il renvoie l’adresse de la cellule dans la première ligne de la colonne actuelle. Ainsi, si la formule est dans la cellule BF27, elle renvoie BF1.

La formule utilise la fonction GAUCHE pour renvoyer le nombre correct de caractères les plus à gauche dans l’adresse, moins le nombre 1 pour la ligne.

Une version encore plus courte de la formule repose sur la fonction SUBSTITUTE au lieu de la fonction LEFT:

=SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),"")

Cette version utilise la fonction ROW pour mettre l’adresse ensemble, puis supprime la valeur ROW du résultat de la fonction ADDRESS.

Bien sûr, vous pouvez également utiliser une solution basée sur des macros, si vous le souhaitez. La macro suivante fonctionnera avec n’importe quelle colonne de votre feuille de calcul:

Function AlphaCol() As String     Dim J As Integer     Dim K As Integer     Dim iDiv As Integer     Dim sTemp As String

Application.Volatile     J = Selection.Column     iDiv = 26 ^ 2     sTemp = ""

While J > 0         K = Int(J / iDiv)

If K > 0 Then sTemp = sTemp & Chr(K + 64)

J = J - (K * iDiv)

iDiv = iDiv / 26     Wend     AlphaCol = sTemp End Function

La macro est une fonction définie par l’utilisateur, ce qui signifie que vous pouvez l’utiliser dans vos feuilles de calcul en l’ajoutant simplement à n’importe quelle cellule:

=AlphaCol()

Une chaîne de texte est renvoyée, constituée de la désignation de la colonne.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3254) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Alphabetic_Column_Designation [Désignation de colonne alphabétique].