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

Transformer un numero de colonnes en littéral ?

11 réponses
Avatar
Ray
Bonjour,
En VBA Excel, je souhaiterais transformer le numéro de la colonne que l'on
obtient par ActiveCell.Row en littéral !!
Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la valeur 1
mais j'aimerais le transformer en A !
Comment faire ?
Merci de vos tuyaux,
Ray

10 réponses

1 2
Avatar
Modeste
Bonsour® Ray avec ferveur ;o))) vous nous disiez :

En VBA Excel, je souhaiterais transformer le numéro de la colonne que
l'on obtient par ActiveCell.Row en littéral !!
Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la
valeur 1 mais j'aimerais le transformer en A !


MsgBox Application.Substitute(ActiveCell.Address(False, False), ActiveCell.Row, "")


--
--
@+
;o)))

Avatar
Ray
"Modeste" a écrit dans le message de
news:eW317s%
Bonsour® Ray avec ferveur ;o))) vous nous disiez :

En VBA Excel, je souhaiterais transformer le numéro de la colonne que
l'on obtient par ActiveCell.Row en littéral !!
Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la
valeur 1 mais j'aimerais le transformer en A !


MsgBox Application.Substitute(ActiveCell.Address(False, False),
ActiveCell.Row, "")


--
--
@+
;o)))



Merci Modeste !!!
Le résultat est exactement ce que je cherchais !!
Je vais decortiquer un peu tout ça pour comprendre comment ça fonctionne !!!
Merci encore et bonne soirée,
Ray

Avatar
Excel
Bonjour,on peut même faire plus court:MsgBox (Chr(64 +
ActiveCell.Column))Bonne journéePat RednefDim Vba as Longre
Avatar
Modeste
Bonsour® avec ferveur ;o))) vous nous disiez :

Bonjour,on peut même faire plus court:MsgBox (Chr(64 +
ActiveCell.Column))Bonne journéePat RednefDim Vba as Longre


Ah Bon ?????

que se passe-t-il aprés la colonne Z
et après la colonne GI

;o)))
quand on utilise une référence aussi illustre dans sa signature
Pat Rednef
Dim VBA as Longre
il vaut mieux assurer !!!


;o)))



--
--
@+
;o)))


Avatar
Fredo P
Bonjour Ray
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
[B2] = Target.Address(0, 0)
Set c = [B2]
With c
.Replace "0", ""
.Replace "1", ""
.Replace "2", ""
.Replace "3", ""
.Replace "4", ""
.Replace "5", ""
.Replace "6", ""
.Replace "7", ""
.Replace "8", ""
.Replace "9", ""
End With
Application.EnableEvents = True
End Sub

"Ray" a écrit dans le message de news:
eX7NVY%
Bonjour,
En VBA Excel, je souhaiterais transformer le numéro de la colonne que l'on
obtient par ActiveCell.Row en littéral !!
Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la valeur
1 mais j'aimerais le transformer en A !
Comment faire ?
Merci de vos tuyaux,
Ray



Avatar
MichDenis
Il y a aussi ceci ... en replaçant AA1 par l'adresse de la cellule désiré !

MsgBox Application.ConvertFormula([AA1].Column, xlR1C1)

OU en utilisant l'objet Range()

MsgBox Application.ConvertFormula(Range("AA1").Column, xlR1C1)




"Ray" a écrit dans le message de news:
eX7NVY%
Bonjour,
En VBA Excel, je souhaiterais transformer le numéro de la colonne que l'on
obtient par ActiveCell.Row en littéral !!
Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la valeur 1
mais j'aimerais le transformer en A !
Comment faire ?
Merci de vos tuyaux,
Ray
Avatar
Modeste
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :

?????
MsgBox Application.ConvertFormula(Range("AA1").Column, xlR1C1)
ce ne serait pas simplement équivalent à : Range("AA1").Column

ici : 27
????
;o)))

Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la
valeur 1 mais j'aimerais le transformer en A !




;o)))
allez d'autres pour le fun :

Sub LettresDeColonne()
MsgBox Left(ActiveCell.Address(True, False), Application.Search("$", ActiveCell.Address(True, False)) - 1)
End Sub

ou bien
Sub ColonneEnLettres()
MsgBox IIf(ActiveCell.Column > 26, Chr((Int(ActiveCell.Column / 26) Mod 26) + 64), "") & Chr((ActiveCell.Column Mod 26) + 64)
End Sub

les même en formule de feuille de calcul :
=GAUCHE(ADRESSE(LIGNE();COLONNE();2);TROUVE("$";ADRESSE(LIGNE();COLONNE ();2))-1)
ou encore
=SI(COLONNE()>26;CAR(MOD(ENT(COLONNE()/26);26)+64);"")&CAR(MOD(COLONNE( );26)+64)

--
@+
;o)))



Avatar
Frédéric Sigonneau
Ou bien encore (Excel 2000 au moins) :

Split(ActiveCell.Address, "$")(1)

:)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :

?????
MsgBox Application.ConvertFormula(Range("AA1").Column, xlR1C1)
ce ne serait pas simplement équivalent à : Range("AA1").Column

ici : 27
????
;o)))

Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la
valeur 1 mais j'aimerais le transformer en A !




;o)))
allez d'autres pour le fun :

Sub LettresDeColonne()
MsgBox Left(ActiveCell.Address(True, False), Application.Search("$", ActiveCell.Address(True, False)) - 1)
End Sub

ou bien
Sub ColonneEnLettres()
MsgBox IIf(ActiveCell.Column > 26, Chr((Int(ActiveCell.Column / 26) Mod 26) + 64), "") & Chr((ActiveCell.Column Mod 26) + 64)
End Sub

les même en formule de feuille de calcul :
=GAUCHE(ADRESSE(LIGNE();COLONNE();2);TROUVE("$";ADRESSE(LIGNE();COLONNE();2))-1)
ou encore
=SI(COLONNE()>26;CAR(MOD(ENT(COLONNE()/26);26)+64);"")&CAR(MOD(COLONNE();26)+64)






Avatar
Misange
joli !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Ou bien encore (Excel 2000 au moins) :

Split(ActiveCell.Address, "$")(1)

:)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
?????
MsgBox Application.ConvertFormula(Range("AA1").Column, xlR1C1)
ce ne serait pas simplement équivalent à : Range("AA1").Column

ici : 27 ????
;o)))

Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la
valeur 1 mais j'aimerais le transformer en A !




;o)))
allez d'autres pour le fun :

Sub LettresDeColonne()
MsgBox Left(ActiveCell.Address(True, False), Application.Search("$",
ActiveCell.Address(True, False)) - 1)
End Sub

ou bien
Sub ColonneEnLettres()
MsgBox IIf(ActiveCell.Column > 26, Chr((Int(ActiveCell.Column / 26)
Mod 26) + 64), "") & Chr((ActiveCell.Column Mod 26) + 64)
End Sub

les même en formule de feuille de calcul :
=GAUCHE(ADRESSE(LIGNE();COLONNE();2);TROUVE("$";ADRESSE(LIGNE();COLONNE();2))-1)

ou encore
=SI(COLONNE()>26;CAR(MOD(ENT(COLONNE()/26);26)+64);"")&CAR(MOD(COLONNE();26)+64)









Avatar
Frédéric Sigonneau
Split et sa copine Join sont deux petites nouveautés d'Excel 2000 que je trouve
trouve très ludiques ! On peut découper n'importe quoi en tableau, y compris un
texte dont on veut remplacer un mot ou une phrase. Inépuisable :)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

joli !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Ou bien encore (Excel 2000 au moins) :

Split(ActiveCell.Address, "$")(1)

:)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
?????
MsgBox Application.ConvertFormula(Range("AA1").Column, xlR1C1)
ce ne serait pas simplement équivalent à : Range("AA1").Column

ici : 27 ????
;o)))

Exemple, si ma cellule active est A1, ActiveCell.Row me retourne la
valeur 1 mais j'aimerais le transformer en A !




;o)))
allez d'autres pour le fun :

Sub LettresDeColonne()
MsgBox Left(ActiveCell.Address(True, False), Application.Search("$",
ActiveCell.Address(True, False)) - 1)
End Sub

ou bien
Sub ColonneEnLettres()
MsgBox IIf(ActiveCell.Column > 26, Chr((Int(ActiveCell.Column / 26)
Mod 26) + 64), "") & Chr((ActiveCell.Column Mod 26) + 64)
End Sub

les même en formule de feuille de calcul :
=GAUCHE(ADRESSE(LIGNE();COLONNE();2);TROUVE("$";ADRESSE(LIGNE();COLONNE();2))-1)

ou encore
=SI(COLONNE()>26;CAR(MOD(ENT(COLONNE()/26);26)+64);"")&CAR(MOD(COLONNE();26)+64)











1 2