Table des matières
Dans ce tutoriel, nous allons voir comment changer les numéros de colonnes d'Excel en caractères alphabétiques correspondants.
Lorsque vous élaborez des formules complexes dans Excel, vous devez parfois obtenir la lettre d'une colonne d'une cellule spécifique ou d'un nombre donné, et ce de deux manières : en utilisant les fonctions intégrées ou une fonction personnalisée.
Comment convertir le numéro de colonne en alphabet (colonnes à une seule lettre)
Si le nom de la colonne est composé d'une seule lettre, de A à Z, vous pouvez l'obtenir en utilisant cette formule simple :
CHAR(64 + numéro de colonne )Par exemple, pour convertir le nombre 10 en une lettre de la colonne, la formule est la suivante :
=CHAR(64 + 10)
Il est également possible de saisir un nombre dans une cellule et de faire référence à cette cellule dans votre formule :
=CHAR(64 + A2)
Comment fonctionne cette formule :
La fonction CHAR renvoie un caractère basé sur le code de caractère du jeu ASCII. Les valeurs ASCII des lettres majuscules de l'alphabet anglais sont de 65 (A) à 90 (Z). Ainsi, pour obtenir le code de caractère de la majuscule A, vous ajoutez 1 à 64 ; pour obtenir le code de caractère de la majuscule B, vous ajoutez 2 à 64, et ainsi de suite.
Comment convertir un numéro de colonne Excel en lettre (n'importe quelle colonne)
Si vous recherchez une formule polyvalente qui fonctionne pour n'importe quelle colonne dans Excel (1 lettre, 2 lettres et 3 lettres), vous devrez utiliser une syntaxe un peu plus complexe :
SUBSTITUT(ADRESSE(1, numéro de colonne , 4), "1", "")Avec la lettre de la colonne en A2, la formule prend cette forme :
=SUBSTITUER(ADRESSE(1, A2, 4), "1", "")
Comment fonctionne cette formule :
Tout d'abord, vous construisez une adresse de cellule avec le numéro de colonne qui vous intéresse. Pour cela, fournissez les arguments suivants à la fonction ADDRESS :
- 1 pour numéro de rang (le numéro de ligne n'a pas vraiment d'importance, vous pouvez donc en utiliser un quelconque).
- A2 (la cellule contenant le numéro de la colonne) pour numéro de colonne .
- 4 pour abs_num pour retourner une référence relative.
Avec les paramètres ci-dessus, la fonction ADDRESS renvoie la chaîne de texte "A1" comme résultat.
Comme nous n'avons besoin que de la lettre d'une colonne, nous supprimons le numéro de ligne à l'aide de la fonction SUBSTITUTE, qui recherche "1" (ou le numéro de ligne que vous avez codé en dur dans la fonction ADDRESS) dans le texte "A1" et le remplace par une chaîne vide ("").
Obtenir la lettre de la colonne à partir du numéro de la colonne en utilisant la fonction personnalisée Fonction personnalisée
Si vous devez régulièrement convertir des numéros de colonne en caractères alphabétiques, une fonction personnalisée définie par l'utilisateur (UDF) peut vous faire gagner beaucoup de temps.
Le code de la fonction est assez simple et direct :
Public Function ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionIci, nous utilisons le Cellules pour faire référence à une cellule de la rangée 1 et au numéro de colonne spécifié et la propriété Adresse Ensuite, la fonction Split divise la chaîne renvoyée en éléments individuels en utilisant le signe $ comme séparateur, et nous renvoyons l'élément (1), qui est la lettre de la colonne.
Collez le code dans l'éditeur VBA, et votre nouvelle application ColonneLetter Pour des conseils détaillés, veuillez consulter : Comment insérer un code VBA dans Excel.
Du point de vue de l'utilisateur final, la syntaxe de la fonction est aussi simple que cela :
LettreColonne(col_num)Où col_num est le numéro de la colonne que vous voulez convertir en lettre.
Votre formule réelle peut ressembler à ceci :
=ColonneLetter(A2)
Et elle renverra exactement les mêmes résultats que les fonctions natives d'Excel présentées dans l'exemple précédent :
Comment obtenir la lettre de la colonne d'une certaine cellule
Pour identifier la lettre de la colonne d'une cellule spécifique, utilisez la fonction COLONNE pour récupérer le numéro de la colonne, et servez ce numéro à la fonction ADRESSE. La formule complète prendra cette forme :
SUBSTITUTE(ADRESSE(1, COLONNE( adresse de la cellule ), 4), "1", "")A titre d'exemple, trouvons une lettre de la colonne de la cellule C5 :
=SUBSTITUER(ADRESSE(1, COLONNE(C5), 4), "1", "")
Évidemment, le résultat est "C" :)
Comment obtenir la lettre de la colonne de la cellule courante
Pour calculer la lettre de la cellule courante, la formule est presque la même que dans l'exemple ci-dessus, à la seule différence que la fonction COLUMN() est utilisée avec un argument vide pour faire référence à la cellule où se trouve la formule :
=SUBSTITUER(ADRESSE(1, COLONNE(), 4), "1", "")
Comment créer une référence de gamme dynamique à partir d'un numéro de colonne
Nous espérons que les exemples précédents vous ont donné de nouveaux sujets de réflexion, mais vous vous interrogez peut-être sur les applications pratiques.
Dans cet exemple, nous allons vous montrer comment utiliser la formule "du numéro de la colonne à la lettre" pour résoudre des tâches réelles. En particulier, nous allons créer une formule XLOOKUP dynamique qui extraira les valeurs d'une colonne spécifique en fonction de son numéro.
À partir de l'exemple de tableau ci-dessous, supposons que vous souhaitiez obtenir un chiffre de profit pour un projet (H2) et une semaine (H3) donnés.
Comme nous ne disposons que du numéro de semaine, qui correspond au numéro de colonne, nous allons d'abord convertir ce numéro en lettre de colonne, puis construire la référence de la plage.
Pour plus de commodité, nous allons décomposer l'ensemble du processus en trois étapes faciles à suivre.
- Convertir un numéro de colonne en lettre
Avec le numéro de colonne dans H3, utilisez la formule déjà connue pour le transformer en un caractère alphabétique :
=SUBSTITUER(ADRESSE(1, H3, 4), "1", "")
Conseil : si le numéro de votre ensemble de données ne correspond pas au numéro de colonne, assurez-vous d'effectuer la correction nécessaire. Par exemple, si les données de la semaine 1 se trouvent dans la colonne B, celles de la semaine 2 dans la colonne C, et ainsi de suite, nous utiliserons H3+1 pour obtenir le numéro de colonne correct.
- Construit une chaîne représentant une référence de plage
Pour créer une référence de plage sous la forme d'une chaîne de caractères, il faut concaténer la lettre de la colonne renvoyée par la formule ci-dessus avec les numéros de la première et de la dernière rangée :
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & ; "3 :" & ; SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & ; "8"
Étant donné que H3 contient "3", qui est converti en "C", notre formule subit la transformation suivante :
="C"&"3:"&"C"&"8"
Et produit la chaîne C3:C8.
- Faire une référence à la gamme dynamique
Pour transformer une chaîne de texte en une référence valide qu'Excel peut comprendre, imbriquez la formule ci-dessus dans la fonction INDIRECT, puis passez-la au 3ème argument de XLOOKUP :
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Pour se débarrasser d'une cellule supplémentaire contenant la chaîne de la plage de retour, vous pouvez placer la formule SUBSTITUTE ADDRESS dans la fonction INDIRECT elle-même :
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & ; "3 :" & ; SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & ; "8"), "Not found")
Avec notre fonction ColumnLetter personnalisée, vous pouvez obtenir une solution plus compacte et plus élégante :
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & ; "3 :" & ; ColumnLetter(H3) & ; "8"), "Not found")
Voilà comment trouver la lettre d'une colonne à partir d'un nombre dans Excel. Je vous remercie de votre lecture et j'ai hâte de vous retrouver sur notre blog la semaine prochaine !
Cahier d'exercices à télécharger
Numéro de colonne Excel vers lettre - exemples (fichier .xlsm)