La solution pour l'ajout d'une ligne proposée au
message #5 est erronée (outre la non déclaration des variables, le nom paramétrage de la fonction qui fait qu'on ne peut l'utiliser qu'avec le tableau1,...), car elle ne tient pas compte de la présence éventuelle d'une ligne de total en bas de la table de données. En effet, elle pousse la nouvelle donnée dans la ligne de total, ce qui est du plus mauvais effet :weird::aie::calim2:
Pièce jointe 559021
L'utilisation de
ListRows.Add se fout de la présence de la ligne de total et délègue au ListObject la responsabilité de tenir compte de la présence éventuelle de cette ligne.
Pour revenir au sujet de la demande qui est de supprimer les lignes d'un tableau (de le vider, en fait, sans tenir compte d'une quelconque condition), la solution proposée au
#9 est assez étonnante. Elle laisse supposer que le tableau est vide si la première cellule de la plage structurée est vide, puisqu'elle ne videra le tableau que si cette cellule n'est pas vide. Dès lors, le tableau suivant ne sera pas vidé... :weird::calim2::aie: Passer par le ListObject (
Listobject.ListRows.Count> 0 ou
Not ListObject.DataBodyRange Is Nothing) supprime les lignes si le tableau n'est pas vide, sans tenir compte d'une condition qui n'est pas exprimée dans la demande, et qui s'avère ne pas être judicieuse pour déterminer qu'un tableau doit être vidé ou pas :roll:
Pièce jointe 559023
Pierre, comment ajouter un total en fin de tableau à la suite de l'ajout des lignes ?
Merci
En résumé: Pour coder de façon propre et professionnelle, il faut utiliser les bons outils. Lorsque l'on travaille sur
la structure d'un tableau structuré (ajouter ou supprimer des lignes, c'est toucher à la structure), il est de loin préférable de travailler avec le listobject plutôt que d'essayer des fantaisies caduques ou franchement erronées qui ne travaillent qu'avec la plage ;)