MACRO : Nommer un tableau en fonction du nom de la feuille

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

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

  • TAB MANUEL V5.xlsm
    770.8 KB · Affichages: 71
Dernière édition:

job75

XLDnaute Barbatruc
Re : MACRO : Nommer un tableau en fonction du nom de la feuille

Re,

Juste 2 précisions :

- ad$ c'est la même chose que ad As String

- .Name c'est pour éviter de mettre en variable .[B2].Text puisqu'on est dans le 2ème bloc With.

A+
 
Dernière édition:

piga25

XLDnaute Barbatruc
Re : MACRO : Nommer un tableau en fonction du nom de la feuille

Bonjour le forum,
Bonjour SI, JOB75

Désolé pour la réponse tardive.

SI:
1 - Rudy ce n'est pas moi, c'est un maître d'arme et j'essais de l'aider comme je peux. J'aime bien me donner des défis de réalisations, mais par moment je reste bloqué, ayant épuisé mes connaissances, d'ou mes demandes d'aide. Néanmoins cela me permet de progresser à chaque fois. Je fais cela uniquement par passion.
2 - C'est Rudy qui récupère directement les données. Il les mets à la suite sur le feuille "DONNEES". Ici ce n'est qu'un mince échantillon.
3 - Au départ j'ai eu le même raisonnement que toi, pour autant de feuilles. Je suis plus du genre comme "Pierrot", une feuille pour les données, une feuille pour les calculs et recherches et une pour la présentation. Le fichier original comportait bien que trois feuilles, mais pour une raison propre a Rudy, il préfère avoir autant de feuille que d'arme (ED, FD, SD ....). Pour résoudre cette contrainte, il fallait que ces feuille soit sous la forme de tableau, car en ajoutant directement (en direct lors des rencontres) une donnée dans la colonne suivante, cela intègre automatiquement le classement dans cette feuille.
4 - Tous tes codes que tu ma fais, sont bien entendu conservé pour deux choses, l'une pour le comprendre et la seconde pour une éventuelle adaptation ultérieure. C'est de cette façon que j'arrive à avancer en VBA.
5 - Un grand MERCI pour toutes les aides que tu m'a déjà apportées.

Job75 :
Merci pour ces infos. J'ai encore énormément de chemin à faire pour arriver à réaliser un code correct mais qui sera loin des tiens. Je reste admiratif devant cela.
Un grand MERCI pour toutes les aides que tu m'a déjà apportées.

Une chose me rassure, c'est que j'ai encore de longues nuits à passer devant EXCEL pour apprendre.

Au plaisir de vous lire sur un prochain fil.
 

Si...

XLDnaute Barbatruc
Re : MACRO : Nommer un tableau en fonction du nom de la feuille

re

merci à toi pour le retour et bonne continuation pour la suite.
Je procède comme toi : j'apprends en décortiquant les codes donnés ici et là mais comme je suis plutôt frondeur, je les adapte à ma façon ;).
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 822
dernier inscrit
kader55