Comment obtenir le nom de la colonne actuelle dans Excel ?
Source : Super User [microsoft-excel],)
Vous pouvez utiliser les fonctions ROW et COLUMN pour cela. Si vous omettez l’argument de ces formules, la cellule actuelle est utilisée. Celles-ci peuvent être directement utilisées avec la fonction OFFSET, ou toute autre fonction où vous pouvez spécifier à la fois la ligne et la colonne sous forme de valeurs numériques.
Par exemple, si vous entrez =ROW() dans la cellule D8, la valeur renvoyée est 8. Si vous entrez =COLUMN() dans la même cellule, la valeur renvoyée est 4.
Si vous voulez la lettre de la colonne, vous pouvez utiliser la fonction CHAR. Je ne recommande pas l’utilisation de lettres pour représenter la colonne, car les choses se compliquent lorsqu’on passe à des noms de colonnes à deux lettres (où l’utilisation de nombres est de toute façon plus logique).
Néanmoins, si vous souhaitez toujours obtenir la lettre de la colonne, vous pouvez simplement ajouter 64 au numéro de colonne (64 étant un caractère de moins que A), donc dans l’exemple précédent, si vous définissez la valeur de la cellule à =CHAR(COLUMN()+64), la valeur renvoyée serait D. Si vous vouliez que la valeur d’une cellule soit l’emplacement de la cellule elle-même, la formule complète serait =CHAR(COLUMN()+64) & ROW().
Pour information, j’ai obtenu 64 à partir d’une table ASCII. Vous pourriez également utiliser la formule CODE, donc la formule mise à jour serait =CHAR(COLUMN() + CODE("A") - 1). Vous devez soustraire 1 puisque la valeur minimale de COLUMN est toujours 1, et alors la valeur de retour minimale de la formule entière serait B.
Cependant, cela ne fonctionnera pas avec les colonnes à deux lettres. Dans ce cas, vous avez besoin de la formule suivante pour analyser correctement les colonnes à deux lettres :
=IF(COLUMN()>26,IF(RIGHT(CHAR(IF(MOD(COLUMN()-1,26)=0,1,MOD(COLUMN()-1,26))+64),1)="Y",CHAR(INT((COLUMN()-1)/26)+64) & "Z",CHAR(INT((COLUMN()-1)/26)+64) & CHAR(IF(MOD(COLUMN(),26)=0,1,MOD(COLUMN(),26))+64)),CHAR(COLUMN()+64))&ROW()
Je ne suis pas sûr qu’il existe une façon plus simple de le faire, mais je sais que cela fonctionne de la cellule A1 à ZZ99 sans aucun problème. Cependant, cela illustre pourquoi il est préférable d’éviter l’utilisation d’identifiants de colonnes basés sur des lettres et de s’en tenir a
(Réponse tronquée)