Première chose, donne des noms concrets à tes variables. Avec les Inti, a1, a2, ... ton code est incompréhensible. Et ça t'évitera bien des problèmes en général 
Ensuite travailles avec des objets pour avoir quelque chose de plus logique à manipuler. Tu as donc une classe Rayon qui possède une liste de Livre. Tout le code sera en C#, mais c'est facilement traduisible je pense.
Donc en très gros
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class Rayon
{
private string _nom;
private int _maxLivres;
private IList<Livre> _livres = new BindingList<Livre>();
public string Nom { get { ... } set { ... } }
public int MaxLivres { get { ... } set { ... } }
public IList<Livre> Livres { get { ... } }
}
public class Livre
{
private string _titre;
public string Titre { get { ... } set { ... } }
} |
A partir de là avec un peu de DataBinding tu auras quelque chose de bien plus simple. Si tu ne sais pas ce qu'est le DataBinding, cherche un peu 
On va faire avec une version simple pour commencer en douceur. On verra avec des BindingSource plus tard peut être 
Déjà tu as une liste de rayons
private List<Rayon> _rayons = new List<Rayon>();
Tu dois toujours avoir un objet Rayon prêt pour la saisie.
private Rayon _rayon = new Rayon();
Au fur et à mesure que tu remplis les infos tu mets à jour l'objet
_rayon.Nom = "Mon rayon";
Et pour les livres, il suffit des les ajouter à la liste des livres du rayon concerné
_rayon.Livres.Add(monLivre);
Pour l'affichage, il faut juste associer une source de données à la liste.
1 2 3
| lbLivres.DataSource = _rayon.Livres;
// On indique comment afficher l'information
lbLivres.DisplayMember = "Nom"; |
Et lorsque tu ajoutes le rayon
1 2 3 4 5
| _rayons.Add(_rayon);
// On part sur un nouveau rayon ensuite
_rayon = new Rayon();
// On réinitialise la DataSource de la ListBox pour pointer sur le prochain rayon
lbLivres.DataSource = _rayon.Livres; |
Voilà pour le principe dans les grandes lignes. Il faut modéliser ton système pour faire ressortir les objets qui interviennent et ensuite les manipuler. Au final l'ensemble devient plus logique. Mais pas forcément lorsque l'on débute et que la POO n'est qu'un vague concept dont on se passe facilement 
Après pour l'écran, je ne pense pas que ce soit le plus adapté dans la façon de saisir l'information. Mais c'est un autre sujet ^^
Partager