OVH Cloud OVH Cloud

Valeur d'une colonne de liste

5 réponses
Avatar
Antoine Labusquière
Bonjour,

J'essaie tant bien que mal, dans une liste, d'afficher le contenu d'une
colonne.
Facile pour la colonne liée, mais pour une autre colonne, c'est possible ?
J'utilise la syntaxe
maliste.ItemData(i)

Merci pour votre aide.

5 réponses

Avatar
Raymond [mvp]
Bonjour.

Fais:
maliste.Column(i)


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Antoine Labusquière" a écrit dans
le message de news: cud5hq$lai$
Bonjour,

J'essaie tant bien que mal, dans une liste, d'afficher le contenu d'une
colonne.
Facile pour la colonne liée, mais pour une autre colonne, c'est possible ?
J'utilise la syntaxe
maliste.ItemData(i)

Merci pour votre aide.




Avatar
Gafish
Bonjour,

Ce que tu veux, c'est par exemple récupérer la valeur de la ième colonne par
rapport à la valeur sélectionnée ?
Si c'est le cas, mettons que tu veux la valeur de la 3ème colonne, ce sera :

Me.TaListe.Column(2)

vu que ca commence à 0, il faut enlever 1

Arnaud

"Antoine Labusquière" a écrit dans
le message news: cud5hq$lai$
Bonjour,

J'essaie tant bien que mal, dans une liste, d'afficher le contenu d'une
colonne.
Facile pour la colonne liée, mais pour une autre colonne, c'est possible ?
J'utilise la syntaxe
maliste.ItemData(i)

Merci pour votre aide.




Avatar
Antoine Labusquière
Merci à tous les deux, mais c'est presque ça.
En fait, je voudrais pouvoir parcourir la liste, puis tester la valeur d'une
des colonnes.
qqchose comme

For i = 0 To maliste.ListCount - 1
if l_resultats.ItemData(i).Column(1) = critere then msgbox "OK"
Next i

C'est la syntaxe après le if qui me pose problème.

J'ai bien essayé de parcourir la liste en sélectionnant les lignes, mais là,
j'ai du code qui s'exécute après chaque sélection, ce qui ralentit
énormément la procédure..


"Gafish" a écrit dans le message de
news:
Bonjour,

Ce que tu veux, c'est par exemple récupérer la valeur de la ième colonne
par

rapport à la valeur sélectionnée ?
Si c'est le cas, mettons que tu veux la valeur de la 3ème colonne, ce sera
:


Me.TaListe.Column(2)

vu que ca commence à 0, il faut enlever 1

Arnaud

"Antoine Labusquière" a écrit dans
le message news: cud5hq$lai$
Bonjour,

J'essaie tant bien que mal, dans une liste, d'afficher le contenu d'une
colonne.
Facile pour la colonne liée, mais pour une autre colonne, c'est possible
?


J'utilise la syntaxe
maliste.ItemData(i)

Merci pour votre aide.








Avatar
Raymond [mvp]
ça change tout, car il n'y a pas de Column dans les itemdata d'une liste, il
faut faire défiler la liste.
Private Sub Commande0_Click()
Dim I As Long
For I = 0 To Me.Liste1.ListCount - 1
Me.Liste1 = Me.Liste1.ItemData(I)
Debug.Print Me.Liste1.Column(2) 'ici ton test à la place du debug
Next I
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Antoine Labusquière" a écrit dans
le message de news: cud8p1$nsv$
Merci à tous les deux, mais c'est presque ça.
En fait, je voudrais pouvoir parcourir la liste, puis tester la valeur
d'une
des colonnes.
qqchose comme

For i = 0 To maliste.ListCount - 1
if l_resultats.ItemData(i).Column(1) = critere then msgbox "OK"
Next i

C'est la syntaxe après le if qui me pose problème.

J'ai bien essayé de parcourir la liste en sélectionnant les lignes, mais
là,
j'ai du code qui s'exécute après chaque sélection, ce qui ralentit
énormément la procédure..



Avatar
Antoine Labusquière
Impec, ça marche parfaitement !
En fait, j'avais essayé quasiment pareil que toi, mais en rajoutant
laliste.ListIndex = i dans la boucle.
Ce qui fait que le code associé à la sélection dans la liste se déclenchait,
je viens de le comprendre.

Un grand merci à toi.

D'un autre côté, le fait que tu aies trouvé la réponse va m'inciter à
continuer mon développement, et j'aurais prochainement une autre question,
bien plus compliquée celle-ci :)




"Raymond [mvp]" a écrit dans le message de
news:
ça change tout, car il n'y a pas de Column dans les itemdata d'une liste,
il

faut faire défiler la liste.
Private Sub Commande0_Click()
Dim I As Long
For I = 0 To Me.Liste1.ListCount - 1
Me.Liste1 = Me.Liste1.ItemData(I)
Debug.Print Me.Liste1.Column(2) 'ici ton test à la place du
debug

Next I
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Antoine Labusquière" a écrit dans
le message de news: cud8p1$nsv$
Merci à tous les deux, mais c'est presque ça.
En fait, je voudrais pouvoir parcourir la liste, puis tester la valeur
d'une
des colonnes.
qqchose comme

For i = 0 To maliste.ListCount - 1
if l_resultats.ItemData(i).Column(1) = critere then msgbox "OK"
Next i

C'est la syntaxe après le if qui me pose problème.

J'ai bien essayé de parcourir la liste en sélectionnant les lignes, mais
là,
j'ai du code qui s'exécute après chaque sélection, ce qui ralentit
énormément la procédure..