ok, il y a donc sans doute quelque chose qui échappe à l'un ou à l'autre
1)Dans la feuille Excel "Liste Identité élèves"
il y a un tableau de données présenté sous forme de table structurée, donc le nom est "t_ListeElèves"
cette table possède plusieurs colonnes: Matricule /Nom / Prénom / ... Note
2)==> l'ordre des colonnes n'a aucune importance pour la suite: Choisis-en un qui te convienne (à priori, l'ordre actuel semble le plus logique
3) Maintenant on passe à l'Userform
selon le multipage, il y a des ListView à remplir
le nombre de colonne à charger est "libre"
tu peux mettre tout ou partie de la table "T_ListeElèves"
et tu peux présenter les colonnes dans un orde différent de la table
4) comme il y avait plusieurs ListView à remplir, pour éviter d'avoir le quasi meme code autant de fois que de listview, j'ai fait UNE macro de remplissge: LoadListView
cette macro est appelée avec 3 paramètres
paramètre1: le nom de la listview à remplir
paramètre2: les colonnes à charger
paramètre3: la table structurée à utiliser comme source
le paramètre 2 est une chaine de caractères qui contient le nom des colonnes (tels qu'ils apparaissent dans la table) séparés par "/"
Col1/Col3/Col2/Col12
c'est donc dans ce paramètre 2 que tu choisis les colonnes à importer et l'ordre que tu souhaites voir dans la listview
5) la macro "UpdateAllListView"
permet de charger toutes les listview du multipage
elle appelle donc plusieurs fois la macro "LoadListiew"
elle permet en meme temps de charger les combo de recherche
6) une fois la listview chargée dans le formulaire
quand tu selectionnes une ligne (ou que tu choisis directement dans le combo de recherche
==> les différents TextBox sont chargés avec les éléments directement à partir de la table sur la feuille Excel, plutot que de la listview==> parce que le nombre de colonnes de la listview n'est pas forcément suffisant
ex: la table contient 11 colonnes
mais la listview pourrait n'être chargée qu'avec 10 colonnes (Matricule/Nom/Prénom/Date Naissance/Sexe/Nationalité/Classe/Niveau/Apt. Physique/Date inscription"
(c'est ce qui est fait sur les 3 listes view de la page 1
il faut donc aller chercher les infos à la source (la feuille)
7) quand tu enregistres (nouvelle ligne ou modification)
le contenu des texbox est enregistré dans les différentes colonnes de la table
Comme je te l'expliquais plus haut, j'utilise la syntaxe "Listcolumns("NomdeLaColonne") pour etre sur d'enregistrer dans la bonne colonne
imaginons que avec la table actuelle, tu fais un enregistrement.. tout se passe bien
puis tu as besoin/envie de modifier l'ordre des colonnes DANS la feuille Excel
tu refais une saisie: pas besoin de modifier le code pour enregisrer puisqu'il connait le nom de la colonne cible
En refaisant un dernier test, je viens de voir que pour Apt.Phys et niveau, le numéro des TextBox était inversé (d'ou l'intéret d'avoir des noms explicite plutot que des numéros)
et que le formatage des dates n'était pas bon ===> Corrgié dans la version ci jointe
pour le codage des boutons sur les autres pages
il faut pouvoir distinguer sur quelle page on est, et donc coder la bonne chose (si je comprend bien..selon la page, on intervient pas sur la meme listview..==> c'est donc sans doute pour ca qu'il y avait autant de boutons modifier ajouter;....
j'ai commencé à apporter une modif