Plusieurs colonnes zone de liste VBA [Résolu]

Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 janvier 2006
- - Dernière réponse : Gagou_c
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 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
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 janvier 2006
3
Merci
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 :

liste_contacts.AddItem rst!Nom & ";" & rst!Prenom & ";" & rst!Email

voila, maintenant je vais voir si je vais réussir à récuperer les valeurs.
Merci de ton aide
Gagou

Merci Gagou_c 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
0
Merci
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
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 janvier 2006
0
Merci
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
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
0
Merci
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
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 janvier 2006
0
Merci
ben mon application tourne sur access donc je suis bien en VBA
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 janvier 2006
0
Merci
et g pris l'objet Zone de liste, c bien ça ? je me gourre pas de controle au moins ?
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
0
Merci
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 ?
Messages postés
65
Date d'inscription
mercredi 18 août 2004
Dernière intervention
31 janvier 2006
0
Merci
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.
Messages postés
4
Date d'inscription
mercredi 2 février 2005
Dernière intervention
3 février 2005
0
Merci
As-tu pensé, dans les propriétés de ta liste (et non dans le VBA) à définir le nombre de colonnes ?

Dans format, tu définit le nb de colonnes et aussi leur taille.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.