Définir le tableau des données et le nommer pour un TCD

Bonjour,

J'ai dans mon classeur une feuille de données "Feuil1". J'aimerais, pour mon TCD,  avoir toujours comme référence le même nom pour la source sachant que le nombre de ligne peut varier. En gros sélectionner les cellules actives ("$A$1:$S$149") sans la limitation "149" et renommer le tableau en "TabDatas".
Manuellement, j'obtiens :

Sub tableau()
'
' tableau Macro
'

'
    Range("A1").CurrentRegion.Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$S$149"), , xlYes).Name = _
        "Tableau1"
    Range("A1:S149").Select
    ActiveSheet.ListObjects("Tableau1").TableStyle = "TableStyleLight9"
    ActiveWorkbook.Names.Add Name:="TabDatas", RefersToR1C1:= _
        "=Sheet1!R1C1:R149C19"
End Sub

Bonjour,

Votre macro pourrait s'écrire comme ceci:

Sub tableau()
    DerLig = Range("A" & Rows.Count).End(xlUp).Row
    Range("A1").CurrentRegion.Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:S" & DerLig), , xlYes).Name = "Tableau1"
    Range("A1:S" & DerLig).Select
    ActiveSheet.ListObjects("Tableau1").TableStyle = "TableStyleLight9"
    ActiveWorkbook.Names.Add Name:="TabDatas", RefersToR1C1:="=Sheet1!R1C1:R" & DerLig & "C19"
End Sub

Cdlt

Bonjour à toutes et tous,

Une autre proposition.

Cdlt.

Public Sub CreateTable()
Dim lo As ListObject
    With ActiveSheet
        Set lo = .ListObjects.Add(xlSrcRange, .Cells(1).CurrentRegion, , xlYes)
        With lo
            .Name = "TabDatas"
            .TableStyle = "TableStyleLight9"
        End With
    End With
End Sub

Merci Jean-Eric,

Par contre, les entêtes ne sont pas pris en compte mais c'est l'idée en effet.

Comment insérer les entêtes ?

Re,

Quel est l'intérêt de renommer le tableau ?

Ce n'est pas à priori pas nécessaire, surtout pour construire un TCD !...

Cdlt.

Merci j'ai trouvé la solution

Re,

Et quelle est la solution ?

Cdlt.

Bonjour

Quel est l'intérêt de renommer le tableau ?

Ce n'est pas à priori pas nécessaire, surtout pour construire un TCD !...

Effectivement si on n'a qu'un TCD ou qu'une source mais dès qu'on a plusieurs TCD basés sur des tableaux différents, un nom signifiant permet de s'y retrouver vite par rapport à Tableau1 & co...

Rechercher des sujets similaires à "definir tableau donnees nommer tcd"