bonjour lio
reponses tardives, mais réponses tout de meme
For Each c In WS.Range('a2:a' & WS.Range('a65536').End(xlUp).Row)
If c = ComboBox1 Then
With ListBox1
'.List(.ListCount - 1, 0) = Cells(c.Row, 'i')Ne marche pas !
.AddItem Cells(c.Row, 'i')
si tu regardes mon code, tu verras que j'ai utilisé la méthode additem avant la méthode list.
dans une listbox en multicolonne, tu ne peux pas alimenter via une boucle les colonnes par la méthode list sans avoir au préalable rempli la premiere colonne par additem. (respire)
donc on remplit la premiere colonne de la listbox par additem : .AddItem Cells(c.Row, 'i')
puis les autres par la méthode list :.List(.ListCount - 1, 1) = Cells(c.Row, 'j')
voilà pour ta premiere interrogation, et le 'Ne marche pas'.
.List(.ListCount - 1, 2) = Cells(c.Row, 'k')
la méthode list, permet de lire ou d'ecrire dans une listbox à un endroit précis.
les lignes et colonnes sont indexées à partir de 0, la premiere colonne =0, la seconde=1, etc...
.list(ligne, colonne)
.list(0,0) va te renvoyer la valeur se trouvant sur la premiere ligne et la premiere colonne de ta listbox.
il nous faut donc incrementer les lignes lorsque l'on remplit la listbox, sinon on ecrit toujours sur la meme.
l'incrementation se fait grace à .listcount qui te donne le nombre de ligne que contient ta listbox.
voilà pour ton interrogation concernant list
la collection :
la collection est un tableau qui se rempli par la méthode add :
lacolletion.add element, clé
Une collection n'accepte pas de clé doublons sinon elle provoque une erreur.
on s'en sert donc pour lister des données sans doublons.
le on error resume next permet de préciser au code que la collection va buguer, mais de continuer quand meme le traitement.
le on error goto 0 permet de préciser qu'a partir de cette ligne le code doit nous renvoyer les erreurs rencontrées.
en somme on force le code à bugguer sur la ligne add et on gere ce bug sur le on error resume next.
ouf, voilà
j'espère que j'ai été assez pédagogique.
salut
PS : robert, tu vois que j'arrive à faire des longs posts.