Re : Besoin d'aide avec VBA
Voilà, voilà.
En pénitence tu m'utiliseras la touche F1 après avoir mis tour à tour le curseur texte en plein milieu de chacun des mots:
On, Caption, Intersect, Rows, Value, CDbl, Me et Err.
Il ne serait pas inutile, dans le sommaire de l'aide, de faire un tour du coté des Opérateurs (et de tout le reste aussi d'ailleurs)
Pour ce qui est de la signification des crochets "[" et "]", ça évidemment il faut déjà le savoir, il faut chercher dans l'aide la méthode Evaluate de l'objet Application, ça y est indiqué en Remarque.
Et si tu ne comprends pas complètement une des explications, demande moi.
P.S. Je viens de le re-joindre après avoir fait un sacré ménage dans les noms de plages (la plupart étaient en #REF!)
C'est curieux, 5 des 6 noms qui restent sont définis des lignes 2:589 alors que j'étais persuadé de les avoir définis sur les colonnes entières. S'il est garanti que ces références couvriront toujours la partie utilisée de la feuille Liste, et je sais que la nouvelle version d'Excel permet ce genre de chose, on devrait pouvoir simplifier toutes les expressions de la forme Intersect(CBL.PlgTablo.Rows(LaLigne), [NomDePlage]).Value en [NomDePlage].Rows(LaLigne).Value
Dans le cas contraire, après ajout de nouveaux éléments au delà de la ligne 589, les Intersect pourraient planter (mais pas le module de classe ComboBoxLiés, car il ne s'intéresse qu'aux numéros de colonnes) si les noms ne sont pas définis sur les colonnes entières.
Voir aussi si on ne peut pas, dans UserForm.Initialize, spécifier la plage d'un ListObject, si toutefois la liste a bien été convertie en tableau conformément aux nouvelles dispositions prévues. Je ne peux pas le faire de mon coté, cette classe d'objet n'existe pas dans l'interface à VBA de ma version d'Excel.