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.
 
G

Guest

Guest
Re : Lire une valeur dans une listview.

Bonjour,

ListView1.ListItems(1).ListSubItems(3).Text

A+
 

Fred

XLDnaute Nouveau
Re : Lire une valeur dans une listview.

Merci Hasco.
Malheureusement, ça ne marche pas... Erreur : "Membre de méthode ou de données introuvable".
 
G

Guest

Guest
Re : Lire une valeur dans une listview.

Re,

Ben chez moi, ça marche, alors il faut te fendre d'un classeur exemple anonymisé et allégé.

A+
 
G

Guest

Guest
Re : Lire une valeur dans une listview.

Re,

Me vient une idée:
rajouter .Item(3).Text:

Code:
ListView1.ListItems(1).ListSubItems.Item(3).Text
A+
 

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:

Fred

XLDnaute Nouveau
Re : Lire une valeur dans une listview.

Je suis passé par une autre solution... Mais dans tous les cas, je devrais lire le contenu de ma listview. Je suis donc toujours preneur pour une solution.
En tout cas, merci Hasco.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas