Gagou_c
Messages postés65Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention31 janvier 2006
-
2 févr. 2005 à 09:16
Gagou_c
Messages postés65Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention31 janvier 2006
-
2 févr. 2005 à 15:49
Bonjour,
Voila mon probleme, je voudrais afficher des informations dans une zone de liste sur 3 colonnes différentes ( Nom, Prnom, Email). Mais imposssible d'accéder à la deuxième colonne, et à la troisième aussi.
Voici mon code.
Private Sub liste_diffusion_Change()
Dim rst As ADODB.Recordset
Dim SQL As String
While liste_contacts.ListCount > 0
liste_contacts.RemoveItem (0)
Wend
Set rst = New ADODB.RecordsetSQL "Select CONTACT.Nom , CONTACT.Prenom, CONTACT.Email From CONTACT_DIFFUSION, CONTACT , LISTE_DIFFUSION where CONTACT.Num_contact CONTACT_DIFFUSION.Num_contact And LISTE_DIFFUSION.Num_liste=CONTACT_DIFFUSION.Num_liste and LISTE_DIFFUSION.Num_liste = " & liste_diffusion.Value & ";"
rst.Open SQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rst.RecordCount > 0 Then
rst.MoveFirst
Do While rst.EOF = False
liste_contacts.AddItem rst!Nom
liste_contacts.AddItem rst!Prenom
rst.MoveNext
Loop
End If
End Sub
si je rajoute dans mon while
liste_contacts.column(2,0) rst!Prenom
l'erreur est : Erreur 424 Objet Requis.
Kelkun at'il déjà fé ça ?
Merci
Gagou
Gagou_c
Messages postés65Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention31 janvier 2006 2 févr. 2005 à 15:49
oui oui mon nombre de colonnes est bien défini,
mais c bon g réussi par trouver, il suffit de séparer les valeurs de chaque colonne par un point virgule :
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 2 févr. 2005 à 10:06
Tt d'abord tu peux remplacer
While liste_contacts.ListCount > 0
liste_contacts.RemoveItem (0)
Wend
par
liste_contacts.Clear
Et voila comment remplir une listbox multicolonnes
Private Sub UserForm_Initialize()
With liste_contacts
'Largeur de la ListBox
.Width = 200
'Nb Colonnes à gérer dans la ListBox
.ColumnCount = 3
'Définit la largeur de chaque colonne
.ColumnWidths = "30;80;70"
'Avec ce code la 3e colonne est masquée
'.ColumnWidths = "30;170;0"
'Ajoute 1 ligne
.AddItem
'Ecrit "a" dans la 1e colonne de la derniére ligne
.List(.ListCount - 1, 0) = "a"
'Ecrit "b" dans la 2e colonne de la dernière ligne
.List(.ListCount - 1, 1) = "b"
'Ecrit "c" dans la 3e colonne de la dernière ligne
.List(.ListCount - 1, 2) = "c"
'Ajoute une ligne
.AddItem
'Idem ci-dessus mais avec d, e, f
.List(.ListCount - 1, 0) = "d"
.List(.ListCount - 1, 1) = "e"
.List(.ListCount - 1, 2) = "f"
'Remplace le contenu de la premiere ligne
' a b c
'=> g h i
.List(0, 0) = "g"
.List(0, 1) = "h"
.List(0, 2) = "i"
End With
End Sub
Gagou_c
Messages postés65Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention31 janvier 2006 2 févr. 2005 à 11:45
d'abord j'avais déjà essayer liste_contacts.clear, mais il ne reconnait pas la méthode, donc c pour ça que j'ai fé le while.
pour le reste g fé kome tu as marqué, mais il ne reconnait pas la methode .List ou .Listcount.
Il me manquerai pas un composant ? ou autre chose ?
merci
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 2 févr. 2005 à 12:02
Tu utilises bien une listbox en VBA ?
Si tu es sous VB6, le composant ListBox n'est pas le même qu'en VBA, et il me semble que dans ce cas, il ne gère pas le multicolonnes
Vous n’avez pas trouvé la réponse que vous recherchez ?
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 2 févr. 2005 à 12:18
A part le fait que je sois sous Excel, j'ai pris le même composant, et j'ai testé le code avant de le déposer sur le forum.
Mais, si ta ListBox ne connait pas les propriétés List et ListCount, commen accèdes-tu aux valeurs de ta liste ?
Par exemple, comment récupères tu la valeur de la 3e ligne de ta liste ?
Gagou_c
Messages postés65Date d'inscriptionmercredi 18 août 2004StatutMembreDernière intervention31 janvier 2006 2 févr. 2005 à 13:01
ben pour l'instant je n'arrive pas à afficher mes valeurs donc je ne peux pas les récupérer.
Dans un premier temps, je voulais simplement afficher mes valeurs, mais apparemment cela ne fonctionne pas...
je ne vois pas kes ki peut bloquer à part une référence manquante dans VBA.