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 JBonjour
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) = NumeroSi dans ton tableau
Ligne 3 = "non"
Ligne 4 = "Oui"
Ligne 5 = "Non"
Donc pour la ligne 3 cela donne
Me.ListJoueur.List(0, 0) = NumeroC'est OK
Pour la ligne 4 pas de remplissage de la ListBox
Pour la ligne 5
Me.ListJoueur.List(2, 0) = Numeroet ça ne passe pas car tu n'as pas fait l'élément 1