Bonjour à tous,
@halecs93 ,
En fait dans ton tableau structuré initial, il y a une ligne de donnée (la ligne 4 de la feuille) et cette ligne est complètement vide! C'est ce qui perturbe la programmation.
Il faut noter que
visuellement rien ne distingue un tableau structuré entièrement vide (aucune ligne de donnée) avec un tableau structuré n'ayant qu'une seule ligne de donnée complètement vide.
Donc pour le codage, on a
trois possibilités quand on veut rajouter une ligne de données :
1) Le tableau structuré
est entièrement vide (nombre de lignes de données = 0) et dans ce cas on rajoute une ligne de données et c'est dans cette ligne (donc la dernière) du tableau dans laquelle on rajoute les données.
Ou bien le tableau structuré n'est pas entièrement vide (il y a donc déjà une dernière ligne de données). On vérifie si cette dernière ligne est complètement vide :
2) si oui alors cette dernière ligne devient la ligne dans laquelle on rajoute les données.
3) si non alors il faut rajouter une ligne dans le tableau et c'est cette ligne (donc maintenant la dernière) qui va recevoir les données
Conséquence : après avoir appliqué ce raisonnement, qu'on soit dans le cas 1, 2 ou 3, les données seront à ajouter à la dernière ligne du tableau.
Dans le classeur joint voir le code du bouton Validation du Userform. On utilise les propriétés et méthodes spécifiques aux objets "Tableau structuré" ou "ListObject".
A aucun moment, on n'utilise l'instruction END() qui fonctionne bien pour une plage mais moins bien pour un tableau structuré.