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

Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
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
Afficher la suite 

Votre réponse

20/21 réponses

Meilleure réponse
1
Merci
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

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
0
Merci
Salut

Dim  firstelement,lastelement As String
firstelement = ListBox1.Items(0).ToString
lastelement = ListBox1.Item(ListBox1.Items.Count - 1).ToString
Commenter la réponse de cs_ShayW
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 décembre 2018
0
Merci
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
---
Commenter la réponse de NHenry
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
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
Commenter la réponse de cs_Weathley
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 décembre 2018
0
Merci
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
---
Commenter la réponse de NHenry
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
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
Commenter la réponse de cs_Weathley
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
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
Commenter la réponse de cs_Weathley
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
0
Merci
Salut
Dim lastelement As Integer
        lastelement = ListBox1.Items(ListBox1.Items.Count - 1).ToString


j'avais oublié le s items
Commenter la réponse de cs_ShayW
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
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
Commenter la réponse de cs_Weathley
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
0
Merci
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
Commenter la réponse de cs_ShayW
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
    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
Commenter la réponse de cs_Weathley
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
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
Commenter la réponse de cs_Weathley
0
Merci
Dim mes_deux As String
Commenter la réponse de Utilisateur anonyme
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
Y-A t-il une solution pour séléctionner le dernier élément d'une listbox ? Merci.


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Commenter la réponse de cs_Weathley
0
Merci
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
Commenter la réponse de Utilisateur anonyme
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
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
Commenter la réponse de cs_Weathley
Messages postés
73
Date d'inscription
samedi 29 octobre 2011
Dernière intervention
12 décembre 2011
0
Merci
Oops , problème résolu, je n'avais pas vu l'edition de banana 32


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
Commenter la réponse de cs_Weathley
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
0
Merci
Bonsoir ucfoutu,
et n'a pas été choisi au hasard

MessageBox.Show(mes-deux)

J'en ris encore

Bonne nuit.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.