Nommer liste avec premier texte de la colonne VBA

Bonjour,

J'avance laborieusement sur mon projet, je souhaites nommer une liste de chaque colonne avec la valeur de la première cellule, dans le but de faire un indirect avec cette liste dans un menu déroulant.

J'ai tenté

ActiveWorkbook.Names.Add Name:=Cells(1, Col).Value, RefersTo:= ???

Je ne crois pas que le Name:=Cells(1, Col).Value fonctionne et je ne trouve pas comment adapter le refersto au colonne suivante.

Merci de votre aide.

Ci joint une ébauche dans le fichier joint.

11classeur1.xlsm (19.18 Ko)

Bonsoir Tonny

Avec tous tes essais, on ressent que tu n'es arrivé à rien faire.

Je pense qu'il faut que tu avances pas à pas.

Il te faut trouver des tutoriels sur les créations de zones nommées, de listes de validation.

Ainsi tu apprendras.

Bonjour,

Merci pour ta participation à ce sujet, mais je rame encore, je pense avoir trouvé une piste en farfouillant un peu.

Je ne suis pas loin de la solution, il me manque juste à trouver l'adresse de la colonne et de la renvoyer en nombre.

J'aimerais que la colonne A renvoie 1, la colonne B renvoie 2 ... et ainsi de suite.

Avez vous une solution ?

Bonjour,
un exemple à adapter !?
Cdlt.

3classeur1.xlsm (15.10 Ko)
Public Sub CreateNames()
Dim lastCol As Long, lastRow As Long, lCol As Long
    With Worksheets("Feuil1")
        lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
        For lCol = 1 To lastCol
            lastRow = .Cells(.Rows.Count, lCol).End(xlUp).Row
            ActiveWorkbook.Names.Add Name:=.Cells(1, lCol).Value, RefersTo:=.Cells(1, lCol).Resize(lastRow)
        Next lCol
    End With
End Sub

Public Sub DeleteNames()
Dim nm As Name
    For Each nm In ActiveWorkbook.Names
        nm.Delete
    Next nm
End Sub

Merci pour ton retour, je vais essayer.

Bonjour a tous,

Finalement je suis parvenu à mes fins.

Je clôture le sujet.

Ci dessous le code

2classeur1.xlsm (21.41 Ko)

Sub Macro1()
'
' Macro1 Macro
'
Dim DerCol As Integer 'RECHERCHE COLONNE VIDE
DerCol = Cells.SpecialCells(xlCellTypeLastCell).Column
Dim DerLig As Integer
DerLig = Cells.SpecialCells(xlCellTypeLastCell).Row
Dim Col As Integer

For Col = 1 To DerCol

Cells(1, Col).EntireColumn.Select
Ref = "=" & "Feuil1!C" & ActiveCell.Column
ActiveWorkbook.Names.Add Name:=Cells(1, Col).Value, RefersToR1C1:=Ref
'MsgBox (Ref)

Next Col

End Sub

Rechercher des sujets similaires à "nommer liste premier texte colonne vba"