piga25
XLDnaute Barbatruc
Bonjour,
Je n'arrive pas à trouver comment mettre une variable dans le code pour nommer un tableau en fonction du nom de la feuille.
Je copie un TCD sur une feuille en fonction du nom figurant dans une cellule ( la pas de problème cela fonctionne, j'ai 06 feuilles: ED FD SD EH FH SH). Par contre impossible de nommer ce nouveau tableau en fonction du nom de la feuille sélectionnée.
Dans le code suivant, cela ne fonctionne que pour la feuille ED
	
	
	
	
	
		
	
		
			
		
		
	
				
			Je n'arrive pas à trouver comment mettre une variable dans le code pour nommer un tableau en fonction du nom de la feuille.
Je copie un TCD sur une feuille en fonction du nom figurant dans une cellule ( la pas de problème cela fonctionne, j'ai 06 feuilles: ED FD SD EH FH SH). Par contre impossible de nommer ce nouveau tableau en fonction du nom de la feuille sélectionnée.
Dans le code suivant, cela ne fonctionne que pour la feuille ED
		VB:
	
	
	Sub impor()
Dim i, j As Variant
Application.ScreenUpdating = False
i = Sheets("TCD").[B2]
'Supression de l'ancien tableau
    Sheets(i).Activate
    j = [B13]
    Application.Goto Reference:="TableauED"
    ActiveSheet().ListObjects("TableauED").Unlist
    Range("D17", Range("C18").End(xlToRight).End(xlDown)).Select
    Selection.ClearContents
    Range("A1").Select
    Sheets("TCD").Select
    Range("D2").Select
    
' mise à jour des calculs TCD
Sheets("TCD").Activate
Calculate
' copie le tableau
Range("A6", Range("C7").End(xlToRight).End(xlDown)).Select
Selection.Copy Destination:=Sheets(i).Range("D17")
' Convertie les données copiées en tableau
Sheets(i).Select
Range("B18", Range("C18").End(xlToRight).End(xlDown)).Select
Sheets(i).ListObjects.Add(xlSrcRange, Range("$B$18", Range("C18").End(xlToRight).End(xlDown)), , xlYes).Name = "TableauED"
    Range("TableauED[[#All],[RangR]]").Select
Calculate
Range("B18").Select
'Trie du tableau
    ActiveWorkbook.Worksheets(i).ListObjects("TableauED").Sort.SortFields _
        .Clear
    ActiveWorkbook.Worksheets(i).ListObjects("TableauED").Sort.SortFields _
        .Add Key:=Range("TableauED[[#All],[RangR]]"), SortOn:=xlSortOnValues, Order _
        :=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(i).ListObjects("TableauED").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
Application.ScreenUpdating = True
End Sub
	Pièces jointes
			
				Dernière édition: