Bonjour,
Avant tout, merci pour votre réponse.
J'ai testé votre solution, et :
1/ le fichier Excel s'éteint tout bonnement lorsque j'essaie d'ajouter un item. Cela se produit à l'exécution de cette ligne :
Set TabLigne = TabNomPRenom.ListRows.Add
2/ vous utilisez des listbox liées à une userform et non plus des listbox (de type Control ActiveX) liées à un onglet Excel.
Or, malheureusement, dans l'application réelle, je suis contraint de manipuler des listbox d'un onglet Excel.
Les tables ont effectivement la même structure mais leurs noms diffèrent, ce qui devrait être suffisant
En fait, dans votre solution, l'activation de l'onglet correspondant avant l'application d'instructions m'a mis sur la piste de l'erreur : l'usage de Range("NomDuTableau") perd l'information de l'onglet lié à ce tableau.
Au lieu de :
Range("Tableau1").Rows(n + 1).Delete
il semble possible d'utiliser :
Feuil1.Range("Tableau1").Rows(n + 1).Delete
ou plus simplement encore :
[Tableau1].Rows(n + 1).Delete
En espérant que ces solutions ne causent pas d'autres problèmes.
En tout cas, merci beaucoup pour votre aide, et au plaisir de lire vos éventuels commentaires.