' 8 fonctions différentes pour récupérer la lettre d'une colonne
'********************************************************
'*****en fournissant le numéro de colonne en paramètre***
'********************************************************
'NomCol(1) donne "A", NomCol(27) donne "AA", NomCol(256) donne "IV".
'Laurent Mortézai, mpfe --> part du seul numéro de colonne
Function NomCol(numcol As Integer) As String
NomCol = Chr(((numcol - 1) Mod 26) + 65)
If numcol > 26 Then NomCol = Chr((numcol - 1) \ 26 + 64) & NomCol
End Function
'retourne la (ou les) lettre de la colonne
'dont le numéro est passé en paramètre (Excel 2000 et +)
'd'après Dana DeLouis, mpep
Function NomCol(Numero) As String
NomCol = Split(Cells(1, Numero).Address, "$")(1)
End Function 'fs
'même idée, toutes versions
'd'après Iwer Mørck, mpep
Function LtrCol(Numero)
x = InStr(Mid(Cells(1, Numero).Address, 2), "$") - 1
LtrCol = Mid(Cells(1, Numero).Address, 2, x)
End Function 'fs
'toutes versions également, même approche
Function ColumnLetter(ColNum As Integer) As String
'Bernie Deitrick, mpep
Dim LastColLtr As String
LastColLtr = Cells(1, ColNum).Address
ColumnLetter = Mid(LastColLtr, 2, InStr(2, LastColLtr, "$") - 2)
End Function
'********************************************************
'********en fournissant une cellule en paramètre*********
'********************************************************
'd'après LL
Function LettreCol(cell As Range)
'utilise le fait que True vaut -1 et False 0 pour renseigner
'le deuxième paramètre de Left (nombre de caractères à garder)
LettreCol = Left$(cell.Address(0, 0), (cell.Column < 27) + 2)
End Function
'Dana DeLouis, mpep (Excel 2000 et +) --> astucieux :-)
Function ColLetter(cell As Range)
ColLetter = Split(cell.Address, "$")(1)
End Function
'Don Guillett, mpep --> même idée que LL
Function LaColonne(cell As Range)
LaColonne = Left(cell.Address(0, 0), 1 - (cell.Column > 26))
End Function
'Iwer Mørck, mpep --> même idée que Dana DeLouis mais toutes versions
Function ColLtr(cell As Range)
x = InStr(Mid(cell.Address, 2), "$") - 1
ColLtr = Mid(cell.Address, 2, x)
End Function