Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] calcul de la lettre d'une colonne à partir d'un chiffre

9 réponses
Avatar
Jean Bidule
Bonjour le forum,

Existe-t-il un moyen de calculer en VBA la lettre d'une certaine colonne
(donnée en chiffre) ?

Par exemple : le chiffre 1 donne la lettre "A" (réalisé avec chr(64+1)).
Mais pour le chiffre 27, il faudrait obtenir "AA"; or chr(64+27) ne donne
pas ca du tout évidemment.

Bien à vous et merci de votre attention
Jean

9 réponses

Avatar
JB
Bonjour,

x = Cells(2, 27).Address(ReferenceStyle:=xlA1) -> AA2

JB
Avatar
isabelle
bonjour Jean,

no = 256
lettre = Evaluate("=IF(" & no & "<26,LEFT(ADDRESS(ROW()," & no & ",4)),LEFT(ADDRESS(ROW()," & no & ",4),2))")

isabelle

Bonjour le forum,

Existe-t-il un moyen de calculer en VBA la lettre d'une certaine colonne
(donnée en chiffre) ?

Par exemple : le chiffre 1 donne la lettre "A" (réalisé avec chr(64+1)).
Mais pour le chiffre 27, il faudrait obtenir "AA"; or chr(64+27) ne donne
pas ca du tout évidemment.

Bien à vous et merci de votre attention
Jean






Avatar
isabelle
un peu plus court :

no = 256
x = Evaluate("=IF(" & no & "<26,LEFT(ADDRESS(1," & no & ",4)),LEFT(ADDRESS(1," & no & ",4),2))")

isabelle


Bonjour le forum,

Existe-t-il un moyen de calculer en VBA la lettre d'une certaine colonne
(donnée en chiffre) ?

Par exemple : le chiffre 1 donne la lettre "A" (réalisé avec chr(64+1)).
Mais pour le chiffre 27, il faudrait obtenir "AA"; or chr(64+27) ne donne
pas ca du tout évidemment.

Bien à vous et merci de votre attention
Jean






Avatar
AV
Avec une variable "numCol" représentant le N° de colonne :

Pour version XL >= 2000 :
Split(Cells(1, numCol).Address, "$")(1)

Toutes versions XL :
MsgBox Left$(Cells(1, numCol).Address(0, 0), (numCol < 27) + 2)

AV
Avatar
Jean Bidule
Super, merci beaucoup Isabelle

"isabelle" a écrit dans le message de news:

un peu plus court :

no = 256
x = Evaluate("=IF(" & no & "<26,LEFT(ADDRESS(1," & no &
",4)),LEFT(ADDRESS(1," & no & ",4),2))")

isabelle


Bonjour le forum,

Existe-t-il un moyen de calculer en VBA la lettre d'une certaine colonne
(donnée en chiffre) ?

Par exemple : le chiffre 1 donne la lettre "A" (réalisé avec chr(64+1)).
Mais pour le chiffre 27, il faudrait obtenir "AA"; or chr(64+27) ne donne
pas ca du tout évidemment.

Bien à vous et merci de votre attention
Jean







Avatar
Jean Bidule
Merci beaucoup AV, très gentil à vous

"AV" a écrit dans le message de news:

Avec une variable "numCol" représentant le N° de colonne :

Pour version XL >= 2000 :
Split(Cells(1, numCol).Address, "$")(1)

Toutes versions XL :
MsgBox Left$(Cells(1, numCol).Address(0, 0), (numCol < 27) + 2)

AV




Avatar
Jean Bidule
Merci beaucoup JB, je vais essayer d'en tirer quelque chose en VBA

"JB" a écrit dans le message de news:

Bonjour,

x = Cells(2, 27).Address(ReferenceStyle:=xlA1) -> AA2

JB



Avatar
Le Nordiste
Bonjour,

Et l'inverse : depuis la ou les lettres trouver le numéro de colonne ?

Remerciements anticipés
Avatar
JB
lettre = "AA"
z = Range(lettre & "1").Column

JB