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 :
- Soit
iCol
le numéro de colonne. Arrêtez siiCol
est inférieur à 1. - Calculez le quotient et le reste sur la division de
(iCol - 1)
par 26, puis stockez dans les variablesa
etb
. - 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. - Définissez
iCol
sur le diviseura
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 avec
iCol = 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 avec
iCol = 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.