Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion fredl
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fredl

XLDnaute Impliqué
Bonjour à tous,
existe t'il une fonction permettant de récupérer facilement le nom de la colonne de la cellule active?
ex : ma cellule active est ZZ4 et je veux récupérer ZZ (et nom pas le N° de colonne)
Pour quelle raison? :
en fait à la base, mon objectif est de supprimer toutes les colonnes masquées de mon onglet.
Je detecte les colonnes masquées et je les supprime : columns("ZZ:ZZ").delete
Le nom des colonnes concernées peut etre de 1 à 3 lettres.
J'ai essayé de mettre le N° de colonne, mais cela bug
Je m'en sort en travaillant sur l'adresse de la cellule, mais je trouve que c'est lourd.
Avez vous une idée?
merci de vos réponses
Frédéric
 
Re : Nom de colonne

Bonjour,

je ferais comme mromain, en travaillant sur le N° de la colonne.

maintenant en recherchant sur l'excellent site Ce site n'existe plus

tu aurais trouver tout ca (merci aux auteurs) :

Code:
' 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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
915
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…