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

[Résolu]
Signaler
Messages postés
181
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2010
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
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

Messages postés
181
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2010

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 ...
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
181
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2010

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.
Messages postés
181
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2010

Je viens de tester :
lsvBiologie.ListItems(0).SubItems(1)

j'ai une erreur intitulée "Index out of bound"
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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...
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Peu etre que les indices commences à 1 et non 0

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

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

 
Messages postés
181
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2010

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 
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
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

 
Messages postés
181
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2010

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.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
ListView1.SelectedItem.Index ?
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
paramtre ligne pas à sa place
Set itmX = ListView1.ListItems.Add i, , ContenuText