Le code ne supprime qu'une ligne sur deux.
En effet, on imagine une table de 3 lignes.
L'indice i de la boucle POUR va donc prendre successivement les valeur 1, 2 puis 3.
Au premier passage, i=1, on supprime la première ligne, la table ne contient plus que 2 lignes.
Au deuxième passage, i=2, on supprime donc la 2e ligne de la table (qui était la 3e ligne au début du parcours). La table ne contient plus qu'une ligne.
Au troisième passage, i=3, et je suppose que le TableSelectPlus et le test qui suit doivent indiquer un "non" (voir planté le programme).
C'est un problème classique que tout le monde à rencontré au moins 1 fois dans sa vie de développeur.
La solution la plus simple est de modifier la boucle pour pour partir de la dernière ligne et remonté la table
POUR i=nNbrLigne _A_ 1 PAS -1
Partager