Selection d'un subitem dans differentes colonnes
Résolu
max850
Messages postés
304
Date d'inscription
Statut
Membre
Dernière intervention
-
max850 Messages postés 304 Date d'inscription Statut Membre Dernière intervention -
max850 Messages postés 304 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
avec ce code je peux contrôler les subitems de la colonne 1 seulement
mais je souhaiterais contrôler aussi les subitems des colonnes 3 et 5
exemple
60000 xxxx 70000 yyyyy 80000 zzzzzz
comment puis je procéder pour contrôler 80000 qui s trouve dans la colonne 3 avec une variable dans .listsubitem()
merci pour votre aide
avec ce code je peux contrôler les subitems de la colonne 1 seulement
mais je souhaiterais contrôler aussi les subitems des colonnes 3 et 5
exemple
60000 xxxx 70000 yyyyy 80000 zzzzzz
comment puis je procéder pour contrôler 80000 qui s trouve dans la colonne 3 avec une variable dans .listsubitem()
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) Dim i As Integer, LaValeur As String Me.TextBox11 = "" i = Me.ListView1.SelectedItem.Index LaValeur = ListView1.ListItems(i).ListSubItems(1).Text If Left(LaValeur, 1) <> "6" Then ListView1.ListItems(i).Selected = False Set ListView1.SelectedItem = Nothing Me.TextBox11 = "" MsgBox "erreur" Else Me.TextBox11 = LaValeur End If End Sub
merci pour votre aide
A voir également:
- Selection d'un subitem dans differentes colonnes
- Formule moyenne excel plusieurs colonnes - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Déplacer une colonne dans excel - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
6 réponses
Bonjour,
Comme ceci:
Comme ceci:
Private Sub ListView1_Click() Dim i As Integer With Me.ListView1 i = .SelectedItem.Index MsgBox .ListItems(i).ListSubItems(3).Text 'remplacer MsgBox par variable MsgBox .ListItems(i).ListSubItems(5).Text End With End Sub
Bonsoir cs_lepivert
je me suis sans doute mal exprimé.
je voudrais que quand je clique par erreur sur un item de la ligne sélectionnée
je puisse recliquer sur un autre subitem de cette colonne ou d'une autre colonne
je voudrais que le numéro de colonne soit une variable et non entrée en dur
comme dans mon code ici colonne 1
LaValeur = ListView1.ListItems(i).ListSubItems(1).Text
est ce possible
merci cs_lepivert
ps je tarde à répondre car je ne reçois très très en retard info sur mon mail
m'indiquant qu'une réponse a été apportée à mon fil
je me suis sans doute mal exprimé.
je voudrais que quand je clique par erreur sur un item de la ligne sélectionnée
je puisse recliquer sur un autre subitem de cette colonne ou d'une autre colonne
je voudrais que le numéro de colonne soit une variable et non entrée en dur
comme dans mon code ici colonne 1
LaValeur = ListView1.ListItems(i).ListSubItems(1).Text
est ce possible
merci cs_lepivert
ps je tarde à répondre car je ne reçois très très en retard info sur mon mail
m'indiquant qu'une réponse a été apportée à mon fil
Voici un exemple avec 10 colonnes et 10 TextBox, a adapter:
Private Sub ListView1_Click() Dim l, c With Me.ListView1 l = .SelectedItem.Index TextBox1 = .ListItems(l).Text For c = 1 To 10 Me("TextBox" & c + 1) = .ListItems(l).ListSubItems(c).Text Next c End With End Sub
Bonjour Le pivert
je boucle bien sur mes trois colonnes mais je ne sais pas comment
stopper ma boucle lorsque c'est le listsubitems de la colonne 2 ou 3 qui m'intéresse et que je veux conserver dans ma texbox11,, malgré l'exemple que tu m'a donné,
je suis vraiment nul
merci
Private Sub ListView1_Click() Dim i, c With Me.ListView1 i = .SelectedItem.Index For c = 1 To 5 Step 2 lavaleur = .ListItems(i).ListSubItems(c).Text TextBox11 = lavaleur Next c End With End Sub
je boucle bien sur mes trois colonnes mais je ne sais pas comment
stopper ma boucle lorsque c'est le listsubitems de la colonne 2 ou 3 qui m'intéresse et que je veux conserver dans ma texbox11,, malgré l'exemple que tu m'a donné,
je suis vraiment nul
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Une autre approche, tu sélectionnes ta ligne et ensuite l'entête de la colonne du SubItem:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader) Dim L As Long, Col As Byte, C As Range L = ListView1.SelectedItem.Index + 2: Col = ColumnHeader.Index MsgBox Cells(L, Col) 'changer pour une variable End Sub
Bonsoir le_pivert
je me suis remis au turbin ce soir et ai trouvé une solution.
j'ai bien conscience que c'est vraiment du travail d'amateur
mais cela fonctionne avec le résultat escompté
je me suis remis au turbin ce soir et ai trouvé une solution.
j'ai bien conscience que c'est vraiment du travail d'amateur
mais cela fonctionne avec le résultat escompté
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) Dim i As Integer, mavaleur As String Me.TextBox11 = "" Dim i As Integer, mavaleur As String Me.TextBox11 = "" With Me.ListView1 i = .SelectedItem.Index If CheckBox1.Value = True Then mavaleur = .ListItems(i).ListSubItems(1).Text TextBox11.Value = mavaleur If MsgBox("Est ce que ce code est bon?" & Chr(13), vbYesNo + vbQuestion, "Demande de confirmation") = vbNo Then ListView1.ListItems(i).Selected = False Set ListView1.SelectedItem = Nothing Me.TextBox11 = "" MsgBox "Vérifier la rubrique" & Chr(13) & "Ou vérifier votre liste de codes" & Chr(13) & "Ou prendre le code le plus approprié", vbOK + vbInformation, "Demande de vérification" Else MsgBox "Parfait" End If Exit Sub End If If CheckBox1.Value = False Then mavaleur = .ListItems(i).ListSubItems(3).Text TextBox11.Value = mavaleur MsgBox mavaleur If MsgBox("Est ce que ce code est bon?", vbYesNo + vbQuestion, "Demande de confirmation") = vbNo Then ListView1.ListItems(i).Selected = False Set ListView1.SelectedItem = Nothing Me.TextBox11 = "" Else MsgBox "Parfait" End If Exit Sub End If End With End Sub