Comment convertir des numéros de colonne Excel en caractères alphabétiques

Introduction

Cet article explique comment utiliser la fonction Microsoft Visual Basic pour Applications (VBA) dans Microsoft Excel pour convertir les numéros de colonne en leur indicateur de caractère alphabétique correspondant pour la même colonne.

Par exemple, le numéro de colonne 30 est converti en caractères alphabétiques équivalents « AD ».

Informations supplémentaires

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.

La fonction ConvertToLetter fonctionne à l’aide de l’algorithme suivant :

  1. Soit iCol le numéro de colonne. Arrêtez si iCol est inférieur à 1.
  2. Calculez le quotient et le reste sur la division de (iCol - 1) par 26, puis stockez dans les variables a et b.
  3. Convertissez la valeur entière de b en caractère alphabétique correspondant (0 => A, 25 => Z) et placez-la au début de la chaîne de résultat.
  4. Définissez iCol sur le diviseur a et la boucle.

Par exemple : le numéro de colonne est 30.

  • (Boucle 1, étape 1) Le numéro de colonne est au moins 1, continuez.

  • (Boucle 1, étape 2) Le numéro de colonne moins un est divisé par 26 :

    29 / 26 = 1 reste 3. a = 1, b = 3

  • (Boucle 1, étape 3) Tack sur la (b+1) lettre de l’alphabet :

    3 + 1 = 4, la quatrième lettre est « D ». Result = « D »

  • (Boucle 1, étape 4) Retour à l’étape 1 aveciCol = a

    iCol = 1

  • (Boucle 2, étape 1) Le numéro de colonne est au moins 1, continuez.

  • (Boucle 2, étape 2) Le numéro de colonne moins un est divisé par 26 :

    0 / 26 = 0 reste 0. a = 0, b = 0

  • (Boucle 2, étape 3) Tack sur la b+1 lettre de l’alphabet :

    0 + 1 = 1, la première lettre est « A » Résultat = « AD »

  • (Boucle 2, étape 4) Retour à l’étape 1 aveciCol = a

    iCol = 0

  • (Boucle 3, étape 1) Le numéro de colonne est inférieur à 1, arrêtez.

La fonction VBA suivante n’est qu’un moyen de convertir des valeurs de numéro de colonne en caractères alphabétiques équivalents :

Function ConvertToLetter(iCol As Long) As String
   Dim a As Long
   Dim b As Long
   a = iCol
   ConvertToLetter = ""
   Do While iCol > 0
      a = Int((iCol - 1) / 26)
      b = (iCol - 1) Mod 26
      ConvertToLetter = Chr(b + 65) & ConvertToLetter
      iCol = a
   Loop
End Function

Note Cette fonction convertit uniquement les entiers qui lui sont passés en leur caractère de texte alphanumérique équivalent. Cela ne modifie pas l’apparence de la colonne ou des en-têtes de ligne dans la feuille de calcul physique.