Comment récupérer le nom d'un item d'une listview ?

Résolu
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010 - 25 juin 2007 à 13:37
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 25 juin 2007 à 15:38
Bonjour,

J'ai une list view avec 2 colonnes. En cliquant sur une ligne, je voudrais récupérer le nom d'un titre de la premiere et de la deuxieme colonne de la listview ?

Cela me permettrait d'associer les 2 titres dans une variable et de charger grâce à "shell" un document dont le nom est cette variable.

Merci

13 réponses

nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
25 juin 2007 à 15:28
Enfin je viens de trouver ... avec l 'instruction ci-dessous
 

NomFichierScanne = listview1.SelectedItem.Text & " " & listview1.SelectedItem.ListSubItems(1)

listview1.SelectedItem.Text  --> contien le date
istview1.SelectedItem.ListSubItems(1)  --> contient le titre assiocié à la date

Je lance le shell et cela fonctionne
Mon document s'affiche ..

Bon maintenant je vais analyser vos proposition ...

J'ai toujours un mistmach avec le code de jmfmarques sur le set ...
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 juin 2007 à 13:43
Salut,
Pas trop compris le problème.
Mais il existe
ListView1.ListItems(X).SubItems(Y)

pour obteni la valeur de la colonne Y de la ligne X (j'sais pas si c'est ce que tu cherches)

@+: Ju£i?n
Pensez: Réponse acceptée
0
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
25 juin 2007 à 14:01
en fait j'ai 2 colonnes dans une listview
1 colonne qui contient des dates
1 seconde colonne contient des titres

les dates sont assiociées au titres
Je voudrais en cliquant sur une ligne, récupérer la date de la premiere colonne et le titre de la seconde colonne de façon à les associer dans une seule variable.
0
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
25 juin 2007 à 14:04
Je viens de tester :
lsvBiologie.ListItems(0).SubItems(1)

j'ai une erreur intitulée "Index out of bound"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
25 juin 2007 à 14:20
Bonjour Nono,

Ce qui suit devrait t'éclairer suffisamment :

Une Form avec une listview ListView1 et un bouton de CXommande Command1

Cide :

Private Sub Form_Activate()
    ListView1.ColumnHeaders.Add , , "Nom", ListView1.Width / 3
    ListView1.ColumnHeaders.Add , , "prénom ID", ListView1.Width / 3, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "date de naissance", ListView1.Width / 3
    ListView1.ColumnHeaders.Add , , "", 0
    Dim itmX As ListItem
    For i = 1 To 10
       Set itmX = ListView1.ListItems.Add(, , i)
       itmX.SubItems(1) = "a" & i
       If i Mod 2 = 0 Then
          itmX.SubItems(2) = "17/02/2000"
           itmX.SubItems(3) = "20000117"
       Else
          itmX.SubItems(2) = "20/03/2002"
          itmX.SubItems(3) = "20020320"
       End If
    Next
End Sub


 


Private Sub ListView1_DblClick()
  Dim choisi As Integer
  choisi = ListView1.SelectedItem
  MsgBox "tu viens de double-cliquer sur la ligne " & choisi & vbCrLf & _
  " qui contient en sa 1ère colonne, le texte " & ListView1.SelectedItem.Text & vbCrLf & _
  " et en sa 2ème colonne, le texte " & ListView1.ListItems(choisi).SubItems(2)
End Sub


Private Sub Command1_Click()
  MsgBox ListView1.ListItems(3) ' te donne la 1ère colonne de la ligne 3
  MsgBox ListView1.ListItems(3).SubItems(2) 'te donne la 3ème colonne (2 + 1) de la ligne 3
End Sub

Tu lances... tu cliques sur Command1... vois et analyse

Tu double-cliques où tu veux en 1ère colonne, tu vois et tu analyses...
Si difficulté de compréhension en dépit de celà... tu dis...
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 juin 2007 à 14:22
Salut,
Peu etre que les indices commences à 1 et non 0

@+: Ju£i?n
Pensez: Réponse acceptée
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
25 juin 2007 à 15:04
Salut,
pour récupérer c' est ListSubItems et pas SubItems

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
25 juin 2007 à 15:06
première colonne ListItems(1).Text
deuxième colonne ListItems(LaLigne).ListSubItems(1).Text

 
0
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
25 juin 2007 à 15:10
Hellojmfmarques

J'ai une erreur type mismatch avec        Set itmX = ListView1.ListItems.Add(, , i)

et avec
  choisi = ListView1.SelectedItem

ListView1.SelectedItem ne correspond pas à un chiffre 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
25 juin 2007 à 15:14
revu et corrigé
Première colonne : (Pas de ListSubItems)
xText=ListView.ListItems(ListView1.SelectedItem.Index).Text
Deuxième colonne : (Premier ListSubItems)
xText=ListView.ListItems(ListView1.SelectedItem.Index).ListSubItems(1).Text

 
0
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010
25 juin 2007 à 15:15
Désolé à tous, nos messages se sont croisés.
Je m'embrouille un peu avec les item et subitem et listiteme et listsubitem

En fait je n'arrive pas à récupérer le numéroi de la ligne.
ListView1.SelectedItem ne récupère avec le numéro de la ligne.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
25 juin 2007 à 15:20
ListView1.SelectedItem.Index ?
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
25 juin 2007 à 15:38
paramtre ligne pas à sa place
Set itmX = ListView1.ListItems.Add i, , ContenuText

 
0