Super, je suis content que ça marche ! J'ai juste remplacé :
with range("TStock2022")
nvl = .rows.count + 1 'ou .listobject.listrows.count + 1
.cells(nvl, 1).resize(1, n) = tData
end with
par
with range("TStock2022").listobject
.listrows.add.range = tData
end with
Dans le premier cas, on agit sur la plage nommée TStock2022 (sans tenir compte du fait que ce soit un TS). On stocke la position de la prochaine nouvelle ligne dans la variable nvl et ensuite, on restitue le tableau de valeur tData (alimenté plus haut dans le code) justement à cette nouvelle ligne. L'opération a marché mais le tableau ne s'est pas automatiquement restructuré comme il l'aurait dû...
Dans le second code, j'ajoute vraiment une nouvelle ligne au TS à laquelle j'affecte tData.
range("TStock2022").listobject est le tableau structuré, .listrows renvoie la collection des lignes, la méthode .add renvoie la ligne qu'on ajoute, .range renvoie l'objet range correspondant à cette ligne.