XL 2013 [Résolu] Lister les numéros des colonnes

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous :),

Si dans Options > Formules on coche la case L1C1, on voit bien les numéros des colonnes de 1 à xxxxx.

Dans le fichier joint, j'arrive à récupérer le numéro des colonnes de 1 à 26 donc de A à Z, mais pas de AA à AZ.
Auriez-vous une idée?
 

Pièces jointes

  • Classeur1.xlsm
    19.3 KB · Affichages: 25

Lone-wolf

XLDnaute Barbatruc
Bonjour CISCO :)

Désolé d'avoir commencé ce poste cars je viens de trouver la solution (c'est depuis hier que je me casse la tête avec ça) :oops:

VB:
Option Explicit
Dim lig As Long, nom As String, num As Long, i As Long

Sub Lister_Lettre_Colonne_et_Numero()
    With Sheets(1)
        For lig = 2 To 105  '= CZ - 104
            i = i + 1
            nom = Mid(.Cells(1, lig - 1).Columns.Address, 2, 1)
            num = CInt(.Cells(i, lig - 1).Column)
            .Cells(lig, 1) = nom
            .Cells(lig, 2) = num
            If lig > 27 Then
                nom = Mid(.Cells(1, lig - 1).Columns.Address, 2, 2)
                .Cells(lig, 1) = nom
            End If
        Next lig
    End With
End Sub

Il suffisait de rajouter i = i + 1.
 

gosselien

XLDnaute Barbatruc
Bonjour,

ceci devrait aller :)
VB:
Sub Lister_Lettre_Colonne_et_Numero()
Dim Cols&
Dim Sp
Cols = ActiveSheet.Columns.Count
With Sheets(1)
   For lig = 2 To Cols
      nom = .Cells(1, lig - 1).Columns.Address(1, 1)
      num = CInt(.Range(nom & "1").Column)
       .Cells(lig, 2) = num
      Sp = Split(nom, "$")
      .Cells(lig, 1) = Sp(1) & "1"
   Next lig
End With
End Sub

P.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Histoire de résoudre le résolu ;)
VB:
Sub Macro1()
Dim t, u
Application.ScreenUpdating = False
With Rows(1)
    .FormulaR1C1 = "=ADDRESS(ROW(),COLUMN(),4,1)&""$""&COLUMN()"
    .Value = .Value: t = .Value: u = Application.Transpose(t)
    .Cells(1)(2).Resize(UBound(u)) = u: .Clear
End With
Columns(1).TextToColumns Destination:=Range("A1"), DataType:=1, Other:=True, OtherChar:="$", FieldInfo:=Array(Array(1, 1), Array(2, 1))
Columns(1).Replace "1", ""
End Sub
 

job75

XLDnaute Barbatruc
Bonsoir à tous,

J'ai remarqué que JM est un fana de la commande Convertir même quand c'est parfaitement inutile :
Code:
Sub Macro2()
[B1] = 1: [B1].Resize(Columns.Count).DataSeries
With [A1].Resize(Columns.Count)
    .Formula = "=SUBSTITUTE(ADDRESS(1,B1,4),1,)"
    .Value = .Value
End With
End Sub
Bonne nuit.
 

job75

XLDnaute Barbatruc
Bonjour JM, le forum,

Magnifique cet aphorisme de René Barjavel, merci JM :)

Quant à DataSeries on pourrait aussi s'en passer :
Code:
Sub Macro3()
[B2].Resize(Columns.Count) = "=SUBSTITUTE(ADDRESS(1,ROWS(B$2:B2),4),1,)"
End Sub
Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 074
Messages
2 085 059
Membres
102 768
dernier inscrit
clem135164