Trier un tableau sans le nommer pour dupliquer la feuille avec sa macro

Bonjour

j'ai crée une feuille avec une macro qui, entre autre, tri les cellules d'un tableau (il y en a 2) par couleur. Je dois dupliquer cette feuille 30 fois mais le nom du tableau change à chaque nouvelle copie m'obligeant à modifier le nom du tableau, dans le code, pour chaque feuille.

Dim Sht As Worksheet
Set Sht = ActiveSheet

Range("Tableau435[#Headers]").Select
Sht.ListObjects("Tableau435").Sort.SortFields. _
Clear

Sht.ListObjects("Tableau435").Sort.SortFields. _
Add(Range("Tableau435[ou]"), xlSortOnCellColor, xlDescending, , xlSortNormal). _
SortOnValue.Color = RGB(192, 0, 0)

C'est la partie Tableau435 que je n'arrive pas à référencer/adresser, anonymement, sans utiliser le nom généré automatiquement par excel.

Ca fait longtemps que je n'ai pas codé barbouillé du code. Sur mes barbouillages fer la rouille s'est déposée.Merci de votre aide

Zayab

Bonjour,

Si le tableau sur lequel tu veux intervenir est le 1er de ta feuille, tu peux faire référence à celui-ci de cette façon pour la ligne d'en-tête :

ListObjects(1).HeaderRowRange(1)
Et juste ListObjects(1) pour le reste au lieu de
ListObjects("Tableau435")

Note qu'à priori ta ligne suivante ne sert à rien :

Range("Tableau435[#Headers]").Select

Wouaou trop rapide! Super

Je vais essayer...

j'ai manqué précisions dans mon explication je crois.

A priori

ListObjects(1).HeaderRowRange(1)

ferait référence au tableau de la feuille(1) quelque soit la feuille(n) utilisée alors que jai besoin que les tableaux alimentés pour chaque feuille(n) soit independant constituant un base unique pour chaque feuille.

Si je comprends bien en triant avec

ListObjects(1).HeaderRowRange(1) avec la macro de la feuille(27) ça va changer le données du tableau de la ListObjects(1) de la feuille1 pas de la Feuille27 ?

si c'est ça alors ce n'est pas vraiment ce dont j'ai besoin . Je voudrai anonymiser la ListObjects pour que quand je duplique une Feuille1 . La macro de la nouvelle Feuille(n) tri par la colonne d'en-tête [ou] du tableau(n) de la Feuille(n) sans que j'ai besoin de modifier dans le code , le nom de tableau (n)

merci pour la ligne inutile

Range("Tableau435[#Headers]").Select

c'est de l'enregistreur macro intégré à l'application

je teste...

merci pour l'eclairage 💡

Re,

Si tu mets tableau 1 entre guillemets, tu feras effectivement référence au tableau qui se nomme ainsi et qui est sur une feuille particulière.

Ici, tu mets sht=activesheet donc tu t'intéresses à la feuille active. Et tableau 1 sans les guillemets fait référence au 1er tableau de ta feuille.

Enfin normalement.

Heuu c'est un naufrage pour moi

si je te suis

Pour la feuille 22

Sht.ListObjects("Tableau435").Sort.SortFields. _
Add(Range("Tableau435[ou]"),

Puisque j'ai 2 tableaux dans chaque Feuille et que le tableau, que je veux trier de la feuille22 est le 2emme tableau de cette même feuille il faudrait que dans la macro de la feuille22 j'écrive non pas Tableau435 pour le nom du tableau mais tableau 2 ?

et à chaque fois our chaque feuille x Excel comprendra que je veux parler du 2 emme tableau de la feuille x quelque soit x ?

Zayab

6test.xlsm (39.77 Ko)

Merci Fred,

après test, ce n'est pas ce que je recherche en effet, je dois éclaircir .

j'envoie le fichier attaché ce qui reste plus parlant.

Apres avoir Terminé la feuille BURP j'ai besoin de dupliquer cet avec onglet avec toutes les macros pour créer une feuille BURP(2) puis BURP(3) etc... 30 fois. Et éviter de changer le nom du tableau dans chaque code de chaque feuille car chaque feuille dupliquée intègre le même code dont ceci:

Sht.ListObjects("Tableau43").Sort.SortFields. _
Clear

Sht.ListObjects("Tableau43").Sort.SortFields. _
Add(Range("Tableau43[ou]"), xlSortOnCellColor, xlDescending, , xlSortNormal). _
SortOnValue.Color = RGB(192, 0, 0)

With Sht.ListObjects("Tableau43").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

et de la feuille BURP(2) puis BURP(3) etc le tableau est propre à chaque feuille

Merci infiniment pour toute aide ca fait qques jours que je patauge.

Rechercher des sujets similaires à "trier tableau nommer dupliquer feuille macro"