Selectionner le dernier/premier element d'une listbox

Résolu
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 - 8 nov. 2011 à 19:51
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 9 nov. 2011 à 21:35
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

Utilisateur anonyme
9 nov. 2011 à 20:10
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
1
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
8 nov. 2011 à 20:04
Salut

Dim  firstelement,lastelement As String
firstelement = ListBox1.Items(0).ToString
lastelement = ListBox1.Item(ListBox1.Items.Count - 1).ToString
0
NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
8 nov. 2011 à 20:05
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
---
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
8 nov. 2011 à 21:19
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
8 nov. 2011 à 21:26
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
---
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 16:12
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
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 16:16
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
9 nov. 2011 à 17:12
Salut
Dim lastelement As Integer
        lastelement = ListBox1.Items(ListBox1.Items.Count - 1).ToString


j'avais oublié le s items
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 18:30
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
9 nov. 2011 à 18:35
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
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 18:42
    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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 nov. 2011 à 19:18
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
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 19:38
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
0
Utilisateur anonyme
9 nov. 2011 à 19:44
Dim mes_deux As String
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 19:47
Y-A t-il une solution pour séléctionner le dernier élément d'une listbox ? Merci.


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
Utilisateur anonyme
9 nov. 2011 à 20:07
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
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 20:11
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
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
9 nov. 2011 à 20:12
Oops , problème résolu, je n'avais pas vu l'edition de banana 32


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 nov. 2011 à 20:17
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
0
Utilisateur anonyme
9 nov. 2011 à 21:29
Bonsoir ucfoutu,
et n'a pas été choisi au hasard

MessageBox.Show(mes-deux)

J'en ris encore

Bonne nuit.
0
Rejoignez-nous