Nommer un tableau Excel

Bonjour

j'ai besoin de votre aide s'il vous plait;

Voila mon problème, j'effectue une macro qui ouvre le même tableau identique sur toute les feuilles. Mais sur chaque feuille le tableau prend un nom différent ( la valeur s'incrémente ) malgré le fait que dans ma macro j'affecte un nom au tableau. j'ai besoin que à chaque fois dans chaque feuille, le tableau porte le même nom sans que la valeur s'incrémente.

J'ai cherché bien des solutions mais je ne trouve pas. j'en ai besoin car après j'effectue des calculs qui prenne en compte le nom de la colonne du dit tableau.

Merci de votre aide

Je mets en lien le fichier excel en guise d'exemple

26essaie.xlsm (18.98 Ko)

Bonjour,

Pour commencer ta procédure crée des tableaux, ne les ouvrent pas !

Ensuite un tableau a un nom unique dans le classeur.

On y fait référence avec son index (avec le nom de sa feuille) ou son nom.

Pour le reste, je ne comprends pas tout !?

Il faudrait préciser ce que tu souhaites faire avec un exemple représentatif dans un nouveau fichier.

Travailler avec tableaux en VBA peut-être simple, mais aussi se compliquer si on ne respecte pas certaines règles.

Cdlt.

oui oui dsl de cette erreur ^^'

bah en fait je suis parvenu a mettre le même nom de tableau sur les différentes feuilles.

la liste d'objet du classeur il y a bien les deux tableaux qui y figure avec le même nom. Cependant, que je clique sur l'un ou sur l'autre cela me ramène au même tableau.

Comment faire?

Merci

Bonjour,

Je n'ai pas l'impression que tu puisses, le nom d'un tableau est obligatoirement un nom niveau classeur.

Par contre tu peux le doubler d'un autre nom de niveau feuille.

Sub tableau()
    For Each ws In ActiveWorkbook.Worksheets
        With ws
            .ListObjects.Add(xlSrcRange, .Range("$a$1").CurrentRegion, , xlYes).Name = "Tableau11" & "_" & ws.Name
            .Range("Tableau11" & "_" & ws.Name).Name = ws.Name & "!" & "Tableau11"
        End With
    Next ws
End Sub

'exemple utilisation
Sub test()
   ' la feuille est désignée :
    With Sheets("Feuil2")
        .[Tableau11].Cells(2, 2) = "ok"
    End With
    ' si la feuille n'est pas désignée attention :
    ' - si code dans un module standard la feuille active est utilisée
    ' - si code dans un module feuille cette feuille est utilisée
    [Tableau11].Cells(2, 2) = "ok"
End Sub

Pour simplifier la lecture le suffixe des noms des tableaux est remplacé par le nom de la feuille "Tableau11_Feuil1", etc

Et tu as 3 autres noms "Tableau11" de niveau feuille , voir l'exemple pour leur utilisation.

eric

37essaie.xlsm (49.77 Ko)

Re,

Bonjour Eric,

Comme écrit précédemment, on peut faire simple ou compliqué !,

Dans l'hypothèse (comme dans ton classeur), tu as 1 tableau par feuille, on s'en fout un peu du nom du tableau.

Car on y fera référence par exemple avec ListObjects(1).

Cdlt.

Salut jean-eric,

Je ne trouve pas que remplacer le suffixe par le nom de la feuille complique.

Le nom étant facile à refabriquer on peut s'adresser directement au tableau voulu plutôt que de devoir les balayer pour savoir à quelle feuille il appartient et trouver le bon.

Maintenant s'il a vraiment besoin d'un nom niveau feuille c'est vrai que ça demande d'être très rigoureux et d'avoir assimilé les nuances des niveaux de nom. Je ne pense pas que cette partie soit indispensable.

eric

Re,

Eric,

Mon message s'adressait avant tout à Thiania.

Bonne journée.

Rechercher des sujets similaires à "nommer tableau"