Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA Conversion Numéro d'une colonne en Lettre Colonne > à 27

  • Initiateur de la discussion Initiateur de la discussion perdinch
  • 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 !

perdinch

XLDnaute Occasionnel
Bonsoir,

Peut-on adapter le code pour gérer la conversion de colonne en chiffre vers colonne en lettre au delà de la colonne 27 soit la colonne Z
Ce code génère des zones nommées automatiquement colonne par colonne dans des onglets dont le nom commence par Data_Base_?

Il crée bien des zones nommées colonne par colonne mais s'arrête à la colonne Z soit LA 26ème.

un fichier exemple en pièce jointe

merci de vos suggestions
 

Pièces jointes

Re : VBA Conversion Numéro d'une colonne en Lettre Colonne > à 27

Bonjour Perdinch, bonjour le forum,

Peut-être avec :
Code:
colonne = Split(c.Address, "$")(1)
 
Re : VBA Conversion Numéro d'une colonne en Lettre Colonne > à 27

Bonsour®
VB:
Sub Creer_plages_Auto_ongl_Data_Base()
Dim c As Range
Dim DernLigne As String
Dim cell_depart As String
Dim lig_fin As Range
Dim colonne As String
Dim feuill As Worksheet

For Each feuill In ActiveWorkbook.Worksheets
If feuill.Name Like "Data_Base_*" Then
  feuill.Select
  For Each c In Range([A1], [IV1].End(xlToLeft))
    '************* identification de la lettre de la colonne active
    colonne = Application.Substitute(Cells(1, c.Column).Address(False, False), "1", "")
    DernLigne = Range(colonne & Rows.Count).End(xlUp).Address
    'zone nommées crées depuis la ligne 2
    cell_depart = c.Offset(1, 0).Address
    If Not IsEmpty(c.Offset(1, 0)) Then
    '-------------------------------------------     vvvv
       ActiveWorkbook.Names.Add Name:=feuill.Name & colonne, RefersTo:="= " & feuill.Name & "! " & cell_depart & ":" & DernLigne & ""
    End If
  Next
End If
Next feuill
End Sub
 
Dernière édition:
Re : VBA Conversion Numéro d'une colonne en Lettre Colonne > à 27

Bonjour,

Le code d'un algorithme de mon cru qui permet de convertir le numéro de colonne en caractères Alpha.
Code:
Sub test()
MsgBox ConvNum2Alpha(ActiveCell.Column)
End Sub

'###################################################
'### Patrick Morange : Algorithme pour convertir ###
'### le numéro de colonne en caractères Alpha    ###
'###################################################
Function ConvNum2Alpha(Colonne As Long) As String
Dim x&
Dim y&
Dim A$
'---
x& = Colonne
'--- x00 ---
If x& > 702 Then
  y& = x& \ 26 ^ 2
  If y& > 0 Then
    A$ = Chr(65 + y& - 1)
  End If
End If
x& = x& - (y& * 26 ^ 2)
'--- 0x0 ---
If x& > 26 Then
  y& = x& \ 26 ^ 1
  If y& > 0 Then
     If y& * 26 ^ 1 = x& Then
      A$ = A$ & Chr(65 + y& - 2)
    Else
      A$ = A$ & Chr(65 + y& - 1)
    End If
  End If
End If
x& = x& - (y& * 26 ^ 1)
'--- 00x ---
  If x& > 0 Then
    A$ = A$ & Chr(65 + x& - 1)
  Else
    A$ = A$ & "Z"
  End If
'---
ConvNum2Alpha = A$
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

G
  • Question Question
Réponses
8
Affichages
917
G
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
819
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…