Bonjour le forum !
Je viens vers vous car j'ai un petit soucis dans mon code VBA j'aimerai pouvoir nommer mon tableau suivant le nom de la feuille dans lequel il est.
PS: Cette action se répète sur plusieurs feuilles à l'indentique.
merci
nicolas
Discussion :
Bonjour le forum !
Je viens vers vous car j'ai un petit soucis dans mon code VBA j'aimerai pouvoir nommer mon tableau suivant le nom de la feuille dans lequel il est.
PS: Cette action se répète sur plusieurs feuilles à l'indentique.
merci
nicolas
Bonjour,
De quoi as-tu besoin ? juste de savoir comment récupérer le nom de ta feuille ? Comment parcourir toutes les feuille de ton classeur ?
Bonjour MistyFlip ni l'un ni l'autre je sais comment récupérer le nom de la feuille et comment parcourir toutes les feuilles de ton classeur. Ce dont j'ai besoin c'est de nommer le tableau selon le nom de la feuille dans lequel il est.
Dans cette ligne de code au lieu d'avoir le tableau appelé "tablo", j'aurai besoin qui prenne le nom de la feuille j'ai essayé de mettre (comme ci dessous) mais ca ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:F" & lig2), , xlYes).Name = _ "tablo"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:F" & lig2), , xlYes).Name = _ "sheets(a).name"
Non je ne suis pas sûr du tout, mais comme je ne maîtrise absolument pas les tableaux dans VBA je les fait à l'enregistreur.
Ce code marche pour nommer le tableau selon le nom de la feuille, merci mais du coup cela soulève une autre question pour moi, comme dois-je manier le code qui en découle ex:ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:F" & lig2), , xlYes).Name = ActiveSheet.Name
Etant donné qu'il s'appelle désormais activesheet.name et que cela fait référence au nom de la feuille avant tout, comment puis-je l'appeller par la suite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Range("tablo").Select ActiveSheet.ListObjects("tablo").TableStyle = "TableStyleMedium11"
Merci à vous deux

Tu peux faire de différente manière.
Par exemple, si tu ne veux pas t'embêter à retaper "ActiveSheet.Name" à chaque fois, tu peux utiliser une variable :
Sinon, tu peux décider de tout le temps utiliser "ActiveSheet.Name" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim nomTableau As String nomTableau = ActiveSheet.Name ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:F" & lig2), , xlYes).Name = nomTableau
A toi de voir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Range(ActiveSheet.Name).Select ActiveSheet.ListObjects(ActiveSheet.Name).TableStyle = "TableStyleMedium11"

Bonjour,
A tester :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:F" & lig2), , xlYes).Name = ActiveSheet.Name
Partager