Lire une valeur dans une listview.

Fred

XLDnaute Nouveau
Bonjour à tous,

J'utilise une listview que je remplis avec des données saisies par l'utilisateur. Ensuite, j'aimerais lire le contenu et là je n'y arrive pas. Par exemple, j'essaye de lire la case de la deuxième ligne et quatrième colonne :
Code:
Me.ListView1.ListItems(2).SubItems(3).Text
et j'ai une erreur Qualificateur incorrect sur SubItems.

Auriez-vous une solution ? Merci d'avance. =)

Bonne soirée.
 

Fred

XLDnaute Nouveau
Re : Lire une valeur dans une listview.

Toujours rien à faire... =(
Je suis avec Excel 2007 et 2010 avec le module Microsoft ListView Version 5 (la 6 étant introuvable). C'est très handicapant...
 
Dernière édition:

Fred

XLDnaute Nouveau
Re : Lire une valeur dans une listview.

Même avec ces mises à jour, impossible... :'(
Merci pour votre aide mais je ne comprends plus là.
Je mets le code ci-dessous (ma listview est appelée recap_taches) :
Code:
Private Sub ajouter_tache_Click()
Dim index As Integer
Dim ctrl As Control

'On remet à zéro le nombre de prédécesseurs.
Me.nombre_predecesseurs.Caption = 0
'On repositionne le bouton + pour ajouter les prédécesseurs.
Me.ajout_predecesseur.Left = 72
Me.ajout_predecesseur.Top = 90
'On supprime les prédécesseurs créés.
For Each ctrl In Me.nouvelle_tache.Controls
If Left(ctrl.Name, Len(ctrl.Name) - 1) = "predecesseur" And TypeName(ctrl) = "TextBox" Then
Me.nouvelle_tache.Controls.Remove (ctrl.Name)
End If
Next

'On cherche le dernier index dans le listview;
index = Me.recap_taches.ListItems.Count + 1
'If index = 0 Then
'index = 1
'End If

With Me.recap_taches
'Remplissage de la première colonne.
        With .ListItems
        .Add , , index
        End With
        
'Remplissage de la deuxième colonne.
        If Me.tache.Value = "" Then
        MsgBox "Nom de tâche non renseigné."
        Else
        .ListItems(index).SubItems(1) = Me.tache.Value
        End If
        
'Remplissage de la troisième colonne.
        If Me.delai.Value = "" Then
        MsgBox "Aucune durée indiquée."
        Else
        .ListItems(index).SubItems(2) = Me.delai.Value
        End If
        
'Remplissage de la quatrième colonne.
        'EN ATTENTE !
        .ListItems(index).SubItems(3) = "" 'On initialise la valeur.
        MsgBox .ListItems(index).ListSubItems.Item(3).Text 'On teste le contenu.
        For Each ctrl In Me.nouvelle_tache.Controls
        If Left(ctrl.Name, Len(ctrl.Name) - 1) = "predecesseur" And TypeName(ctrl) = "TextBox" Then
        .ListItems(index).SubItems(3) = .ListItems(index).listSubItems(3).Text & ctrl.Object.Value & ", "
        Else
        .ListItems(index).SubItems(3) = ""
        End If
        Next
        'If Me.predecesseurs.Value = "" Then
        'MsgBox "Aucune durée indiquée."
        'Else
        '.ListItems(index).SubItems(3) = ""
        'End If
        
'Remplissage de la cinquième colonne.
        If Me.ressource.Value = "" Then
        MsgBox "Aucune ressource indiquée."
        Else
        .ListItems(index).SubItems(4) = Me.ressource.Value
        End If
        
'Remplissage de la sixième colonne.
        If Me.temporisation.Value = "" Then
        .ListItems(index).SubItems(5) = ""
        Else
        .ListItems(index).SubItems(5) = Me.temporisation.Value
        End If
 

'If Me.tache.Value <> "" And Me.delai.Value <> "" And Me.ressource.Value <> "" Then
Me.nouvelle_tache.Visible = False
'End If

'End If

End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 009
Membres
101 865
dernier inscrit
MLL