Ohk désolé pour la réponse ci-dessus, je n'ai pas vu le lien que vous avez donné.
Le traiteur dataGridView1_CellValueNeeded le fait tout. Cette fonction est responsable de peupler des données dans la liste de client dans le datagrid. Cette fonction s'appelle toutes les fois qu'il y a n'importe quel changement sur la grille même si elle est refaite, remis à la côte ou quelque chose.
dataGridView1_CellValuePushed s'appelle toutes les fois que vous insérez n'importe quelle valeur dans la grille. Il ajoute ou met à jour l'objet de client et quand vous avez écrit des valeurs dans les les deux les colonnes, dataGridView1_RowValidated s'appelle et si les données saisies sont valides il ajoute l'objet de client à l'arraylist de client.
De ce fait le faisant tout dans la synchro.
Thx !
Échanges….