Selectionner le dernier/premier element d'une listbox [Résolu]

Signaler
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour, j'ai mis une listbox sur une form, des éléments et je voudrais, avec deux boutons, selectionner le premier ou le dernier élément de la listbox.
Est-ce possible. Merci, bonne soirée


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb

21 réponses


Oups il manque une ligne :
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim lb As New ListBox With {.Bounds = New Rectangle(10, 10, 100, 200)}
        lb.Items.Add("baba")
        lb.Items.Add("bibi")
        lb.Items.Add("bubu")
        lb.Items.Add("bobo")
        Me.Controls.Add(lb)
        MessageBox.Show("premier : " & lb.Items.Item(0).ToString)
        MessageBox.Show("dernier : " & lb.Items.Item(lb.Items.Count - 1).ToString)
        lb.SelectedIndex = lb.Items.Count - 1
    End Sub
End Class
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

Dim  firstelement,lastelement As String
firstelement = ListBox1.Items(0).ToString
lastelement = ListBox1.Item(ListBox1.Items.Count - 1).ToString
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

As-tu regardé SelectedIndex et Items.Count de la ListBox ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Merci NHenry, j'ai effectivement regardé SelectedIndex :
ListBox1.SelectedIndex = 0

cela selectionne le permier élément.
Mais je n'arrive pas à trouver comment faire pour séléctionner le dernier item.


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

En reprenant le message de ShaW :
ListBox1.Items.Count - 1

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Bonjour, Je n'arrive pas a mettre le code
ListBox1.Items.Count - 1 

cela me met automatiquement
ListBox1.Items.Count(-1)

et c'est souligné. Erreur:
Un accès à la propriété doit assigner la propriété ou utiliser sa valeur.



Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Et si j'écris ceci:
Dim lastelement As Integer
        lastelement = ListBox1.Item(ListBox1.Items.Count - 1).ToString

cela souligne "ListBox1.Item" (avant la parenthèse)
et cela me met ça comme erreur:
'Item' n'est pas un membre de 'System.Windows.Forms.ListBox'.



Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut
Dim lastelement As Integer
        lastelement = ListBox1.Items(ListBox1.Items.Count - 1).ToString


j'avais oublié le s items
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Merci, le programme se lance, mais il y a un probleme, au moment d'appuyer sur button2, l'application "Crashe" et il y a ce message
Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Merci, le programme se lance, mais il y a un probleme, au moment d'appuyer sur button2, l'application "Crashe" et il y a ce message


Oui mais je ne peux pas deviner ce que tu
as écrit comme code
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim lastelement As Integer
        lastelement = ListBox1.Items(ListBox1.Items.Count - 1).ToString
    End Sub



Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
voilà qui te montre les deux (à toi répatrir entre tes deux boutons, comme tu le souhaites) :
Dim mes_deux As String
With ListBox1
   mes_deux "tu as un nb d'items " & .Items.Count.ToString
   mes_deux += vbCrLf & "le premier contient " & .Items(0).ToString
   mes_deux += vbCrLf & "le dernier contient " & .Items(.Items.Count - 1).ToString
End With
MessageBox.Show(mes-deux)


et dans ton code, "Dim lastelement As Integer" ne peut être typé en integer, puisque tu demandes par ailleurs un string ! (tostring) !

Si le bout de code ci-dessus provoque une erreur, rentre en mode debug et tu y découvriras la raison (probablement une absence d'articles dans ta listbox)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Merci beaucoup UcFoutu, mais cela récupère les données. Y-a-t-il un moyen pour sélectionner le dernier item.
Sinon merci pour ce code,il est très utile.

Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb

Dim mes_deux As String
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Y-A t-il une solution pour séléctionner le dernier élément d'une listbox ? Merci.


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb

On te l'a déjà montré plus haut :
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim lb As New ListBox With {.Bounds = New Rectangle(10, 10, 100, 200)}
        lb.Items.Add("baba")
        lb.Items.Add("bibi")
        lb.Items.Add("bubu")
        lb.Items.Add("bobo")
        Me.Controls.Add(lb)
        MessageBox.Show("premier : " & lb.Items.Item(0).ToString)
        MessageBox.Show("dernier : " & lb.Items.Item(lb.Items.Count - 1).ToString)
    End Sub
End Class
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Je crois que je n'ai pas été assez clair.
Je vais rééxliquer.
Dès que j'appuie sur un bouton, le dernier élément est séléctionné, comme si on avait cliqué dessus, en surbrillance, je ne veux pas récupérer la valeur. Mais merci pour ce code tout de même.


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
1
Oops , problème résolu, je n'avais pas vu l'edition de banana 32


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour, Banana32,
T'inquiète pas,
Dim mes_deux As String

m'a paru tout-à-fait en harmonie avec toutes ces coui****nades (et n'a pas été choisi au hasard).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Bonsoir ucfoutu,
et n'a pas été choisi au hasard

MessageBox.Show(mes-deux)

J'en ris encore

Bonne nuit.