Autres MSComctlLib.ListItem

bernardrustrel

XLDnaute Occasionnel
Bonjour a tous
Sous 2007, J'ai cree une lisTview sur la quelle je voudrais apres avoir liquer sur une ligne(Item) récupérer les données de la premiere colonne soit le subitem(0) pour ce faire j'ai utilser le code suivant:

Private Sub ListView4_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim NumCost
NumCost = ListViewDefinitionActivites.SelectedItem.ListSubItems(0)
End Sub
or a son execution il me retourne erreur 424, objet requis.
Le libray MSCOMCTL.OCX est bien dans SYSWOW64 , est ce adire que l'on ne peut aps recuperer les donnees de la conne (0) ?
Merci à vous d'eclairer ma lanterne sur le sujet.
Cordialement, Bernard
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Je ne pense pas que cela vienne de la librairie mais plutôt du fait que dans ListView4_ItemClick vous fassiez référence à ListViewDefinitionActivites.SelectedItem sans savoir si ce dernier existe (not nothing) ou non (is nothing)

Si cela ne résout pas votre problème, joignez un fichier exemple le reproduisant.

Cordialement
 

bernardrustrel

XLDnaute Occasionnel
Bonsoir
J'ai essaye vos propositions mais rien n'y fait aussi je vous transmets ce fichier.
Le formulaire propose 2 combobox, celle de gauche on coisit le groupe de costume, celle de droite le costume. C'est alors que la listview s'actualise.
En cliquant sur une ligne de cette derniere je voudrais voir apparaitre dans la textbox le valeur de la colonne (0) de la listview, ce qui m'éviterais de passer par la feuille de calcul.
En vous remerciant par avance. Cordialement, Bernard
 

Pièces jointes

  • Essai.xlsm
    33.7 KB · Affichages: 11

patricktoulon

XLDnaute Barbatruc
bonsoir
dis moi un peu
quand tu alimente ta listview
tu ajoute Un listitem(0) ou un item PUIS DES SUBITEMS ?
ça devrait te mettre la puce à l'oreille déjà ;)

dans l'event lui même quels sont les éléments argument ??
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)

d'ailleurs me semble t il que l'on est pas en base zero dans un listview je dis ça me trompais je peut être( je sais plus ca fait un moment que je n'ai pas coder un listview)

et encore mieux je te suggère de contrôler ce que tu code
on est en droit de se poser des question 🤪 🤪

Private Sub ListView4_ItemClick(ByVal Item As MSComctlLib.ListItem)

'TextBox1 = ListViewDefinitionActivites.SelectedItem.ListSubItems(0)'0?????
TextBox1 = ListView4.SelectedItem.ListSubItems(1)
End Sub

oui je sais avec ce satané listview on en perd son latin 😁

et si c'est toujours pas compris ceci te mettra sur la voie
VB:
Private Sub ListView4_ItemClick(ByVal Item As MSComctlLib.ListItem)
'TextBox1 = ListViewDefinitionActivites.SelectedItem.ListSubItems(0)
    MsgBox "la valeur de l'item " & Item & vbCrLf & "la valeur du subtitems(1)" & ListView4.SelectedItem.ListSubItems(1)
    'TextBox1 = ListView4.SelectedItem.ListSubItems(1)' a débloquer
End Sub
 
Dernière édition:

bernardrustrel

XLDnaute Occasionnel
Bonjour
Je ne sais pourquoi, mais j"ai raisonné comme un "manche", en vérité c'est la valeur de l'item que je veux recuperer dans ce cas c'est beaucoup plus facile.
TextBox1 = ListView4.SelectedItem et c'est votre réponse qui m"a mis sur la voie.
Encore merci
Cordialement, Bernard