Lettre de la colonne et N° de la ligne
Pour toutes les versions d'excel :
par formule :
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
renvoie la lettre de la colonne contenant cette formule. Celle-ci peut bien entendu être intégrée au sein d'une formule plus complexe.
En VBA :
Colonne = Left$(ActiveCell.Address(0, 0), (ActiveCell.Column < 27) + 2)
Ligne = ActiveCell.Row
Explications (!!) Pour obtenir la "lettre" de la colonne, il faut extraire soit le premier caractère de l'adresse si la colonne est avant la colonne 27 (soit les lettres A-Z), soit les deux premiers caractères si c'est une colonne plus à droite (AA => IV = deux caractères).
ActiveCell.Address(0, 0) donne l'adresse avec des coordonnées "relatives" (sans les $).
(ActiveCell.Column < 27) renvoie True si la condition colonne < 27 est vérifiée, False sinon. En ajoutant 2 à cette valeur, le booléen True/False est tranformé en nombre: -1 si True, 0 si False.
Donc : - si colonne < 27, (ActiveCell.Column < 27) + 2 = True + 2 = -1 + 2 = 1 et la fonction Left$ extrait le premier caractère (lettre unique, A à Z)
- si colonne > 26, (ActiveCell.Column < 27) + 2 = False + 2 = 0 + 2 = 2 et Left$ extrait les deux premiers caractères (colonne = 2 lettres, AA à IV)
Pour les versions postérieures à 97, on peut utiliser cette formule pour la lettre :
Split(ActiveCell.Address, "$")(1)
Mais attention, la fonction Split fait partie d'un lot d'une dizaine de nouvelles fonctions de manipulations de chaînes de caractères apportée par VBA 6 (Excel 2000) et exporte une chaîne comportant des caractères séparateurs dans une variable tableau.
Comme elle n'existe pas sous Excel 97, je déconseillerais de l'utiliser sauf pour un usage perso.
Auteurs : Laurent Longre, Frédéric Sigonneau, Flo Cabon
Mots clefs associés à cette page : lettre, colonne, ligne
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
