Creation d'une listbox

Bonjour a tous

toujours dans mes petit probleme, et voici le dernier en date :

je souhaite creer une listbox à partir des donnes d'un tableau ( jusqu'a la pas de probleme) mais je souhaite que celle ci recupere les donnes d'une ligne uniquement si une cellule de chaque ligne ( colonne identifiée pour le tableau ) n'a pas un OUI.

Pour cela j'ai réalisé le code suivant dans la partie initialise de l'userform :

'données source de la listjoueur

NumLigneVide = ActiveSheet.Columns(2).Find("").Row

'on recupere le numero de la colonne qui varie en focntion de l'année integre dans la feuille de données

Worksheets("Données").Activate

annee = Year(ActiveSheet.Cells(1, 2))

Worksheets("liste").Activate

numcollicence = 20 + (annee - 2007) * 6

'on remplit la listbox

For J = 3 To NumLigneVide

'on teste si deja une licence et donc on ne remplit pas si OUI

test = ActiveSheet.Cells(J, numcollicence)

If test <> "OUI" Then

Nom = ActiveSheet.Cells(J, 2)

Prenom = ActiveSheet.Cells(J, 3)

Numero = ActiveSheet.Cells(J, 1)

Me.ListJoueur.AddItem

Me.ListJoueur.List(J - 3, 0) = Numero

Me.ListJoueur.List(J - 3, 1) = Nom

Me.ListJoueur.List(J - 3, 2) = Prenom

End If

Next J

Voila ou commence mon probleme : cela me donne une erreur de type 381 = impossible de definir la propriete list

je ne comprends en faisant executer pas a pas, les données sont bonnes, le test marche et sa deconne sur le remplissage de la liste.

J'ai verifie le point suivant : je supprime le test en "if" et la aucun probleme.

quelqu'un peut il me dire ou je me plante ?

MErci d'avance

steve

Bonjour

Testes

'données source de la listjoueur

  NumLigneVide = ActiveSheet.Columns(2).Find("").Row
  'on recupere le numero de la colonne qui varie en focntion de l'année integre dans la feuille de données
  Worksheets("Données").Activate
  annee = Year(ActiveSheet.Cells(1, 2))
  Worksheets("liste").Activate
  numcollicence = 20 + (annee - 2007) * 6
  'on remplit la listbox
  For J = 3 To NumLigneVide
    'on teste si deja une licence et donc on ne remplit pas si OUI
    test = ActiveSheet.Cells(J, numcollicence)
    If test <> "OUI" Then
      nom = ActiveSheet.Cells(J, 2)
      prenom = ActiveSheet.Cells(J, 3)
      numero = ActiveSheet.Cells(J, 1)
      Me.ListJoueur.AddItem numero
      Me.ListJoueur.List(Me.ListJoueur.ListCount - 1, 1) = nom
      Me.ListJoueur.List(Me.ListJoueur.ListCount - 1, 2) = prenom
    End If
  Next J

Bonjour

super ça marche

merci

pour info perso, tu as une idée du pourquoi du comment ?

Bonjour

Sans ton fichier avec l'erreur, ce n'est qu'une supposition

On va prendre juste cette instruction

Me.ListJoueur.List(J - 3, 0) = Numero

Si dans ton tableau

Ligne 3 = "non"

Ligne 4 = "Oui"

Ligne 5 = "Non"

Donc pour la ligne 3 cela donne

Me.ListJoueur.List(0, 0) = Numero

C'est OK

Pour la ligne 4 pas de remplissage de la ListBox

Pour la ligne 5

Me.ListJoueur.List(2, 0) = Numero

et ça ne passe pas car tu n'as pas fait l'élément 1

Rechercher des sujets similaires à "creation listbox"