Transformer un numero de colonnes en littéral ?

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #6792151
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)))

Ray
Le #6792121
"Modeste" 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

Excel
Le #6796551
Bonjour,on peut même faire plus court:MsgBox (Chr(64 +
ActiveCell.Column))Bonne journéePat RednefDim Vba as Longre
Modeste
Le #6797001
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)))


Fredo P
Le #6796981
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" 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



MichDenis
Le #6797511
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" 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
Modeste
Le #6797781
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)))



Frédéric Sigonneau
Le #6805361
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)






Misange
Le #6805741
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)









Frédéric Sigonneau
Le #6806201
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)











Publicité
Poster une réponse
Anonyme