Changer les noms de tableaux automatiquement

Bonjour,

Dans un de mes fichiers Excel, que je ne peux pas vous envoyer maintenant car il contient des données professionnelles, j'ai une macro qui met en forme des données puis les mets sous forme de tableau.

Le nouveau tableau ainsi créé s'appelle "Tableau 1". Celui-ci se trouve dans un onglet que je vais nommer Onglet 1.

Lorsque j'importe de nouvelles données dans le fichier, je les insère dans l'onglet 2, puis j'exécute ma macro.

Le souci est que la macro donne une erreur, car elle vaut nommer le nouveau tableau "Tableau 1", mais il existe déjà dans l'onglet 1. Pour l'instant, ce que je fais pour palier à l'erreur, c'est que je renomme mes tableaux avant d’exécuter ma macro. Ce n'ai pas encore trop long car je n'ai pas beaucoup d'onglets, mais d'ici quelques temps, il sera impensable de faire cette manip avant chaque exécution de la macro.

Donc je souhaiterais savoir comment faire pour que la macro compte le nombre de tableaux du fichier, et qu'elle fasse un tableau appelé "Tableau n+1".

J'espère avoir été assez clair dans mes explications. Si ce n'est pas le cas, n'hésitez pas à me poser des questions.

Merci d'avance à tous ceux qui pourront m'aider.

Bonjour,

à tester,

n = ActiveSheet.ListObjects.Count
ActiveSheet.ListObjects(n).Name = "Tableau" & n + 1

Bonjour,

Bonjour i20100,

Le nom d'un tableau est unique dans un classeur.

Cdlt.

re,

Le nom d'un tableau est unique dans un classeur.  ;;) 

rien n’empêche de tous les renommer

Re,

Normalement les tableaux se nomment automatiquement lors de la création.

Et il ne peut y avoir de nom dupliqué.

Attendons que binome18 joigne sa procédure VBA, à défaut d'un fichier (anonymisé !...).

Cdlt.

Attendons que binome18 joigne sa procédure VBA, à défaut d'un fichier (anonymisé !...).

bien d'accord,

Merci pour vos réponses.

Je ne sais pas où insérer ce morceau de code dans mon VBA. J'ai fait un essai, mais ce n'est pas concluant du tout.

Je vous joint un fichier représentatif de ce dont j'ai besoin.

Dans le premier onglet, j'ai des données dans un tableau. Dans les autres onglets, j'ai des données "brutes" que je veux mettre sous forme de tableau avec la macro.

Merci à vous

21tableaux.xlsm (18.32 Ko)

Re,

Un exemple :

54tableaux.xlsm (17.21 Ko)
Sub Macro1()
Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        If ws.ListObjects.Count = 0 Then
            ws.ListObjects.Add(xlSrcRange, ws.Cells(1).CurrentRegion, , xlYes).TableStyle = "TableStyleMedium2"
        End If
    Next ws
End Sub

re,

voici un exemple,

Merci, cela correspond à mon besoin.

Problème résolu

Rechercher des sujets similaires à "changer noms tableaux automatiquement"