Bonjour,
en fait je crois que le problème est que tu prends comme indice l'indice dans la liste des lignes sélectionnées, et non pas l'indice de la table.
Donc :
POUR i=1 A TableSelectOccurrence(TABLE_mémoire)
HLitRecherche(Fichier,IDFichier,COL_IDFichier[TableSelect(TABLE_mémoire,i)])
SI HTrouve(Fichier) ALORS
Fichier.valeursaisie = sai_saisie..ValeurAffichée
HModidie(Fichier)
FIN
FIN
Je pense que cela devrait résoudre le problème.
Par ailleurs, à noter que si l'on souhaite supprimer des lignes, il faut partir de TableSelectOccurrence(TABLE_mémoire) et aller jusqu'à 1, PAS -1.
En effet, dans le cas de suppression, le nombre de lignes sélectionnées diminue, et donc la valeur Max diminue aussi.
Bonne chance :)
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5118&post_id=21261