Selection dans listbox

stepsbysteps

XLDnaute Nouveau
Bonjour,

J'aimerai savoir dans une listbox comment savoir avec la souris sur quel élèment il a été cliqué.
Code:
Private Sub UserForm_Initialize()
    Dim i As Byte, j As Byte
    
    'Définit le nombre de colonnes dans la ListBox
    ListBox1.ColumnCount = 7
    
    '---
    'Définit la largeur des colonnes d'une ListBox:
    'Par défaut, la largeur des colonnes est de 72 points
    '(72 points = 1 pouce)
    ListBox1.ColumnWidths = "50;80;50;60;50;70;50"
        '---
        'Il est aussi possible de définir la dimension des colonnes en centimètres
        'ListBox1.ColumnWidths = "2 cm; 1,5 cm ......"
        '---
    '---
    
    For i = 1 To 20
        'Ajoute une ligne et insère une donnée dans la colonne de gauche
        ListBox1.AddItem "Ligne" & i
        
        'Ajoute des données dans les colonnes de droite
        For j = 1 To 7
        ListBox1.List(ListBox1.ListCount - 1, j) = i & j
        Next j
        
    Next i
End Sub

Par exemple si l'utilisateur clique sur Ligne 3, je veux récupérer ligne 3 comme argument pour une autre fonction
Merci d'avance
 

Pièces jointes

  • listbox.xls
    32 KB · Affichages: 37
  • listbox.xls
    32 KB · Affichages: 39
  • listbox.xls
    32 KB · Affichages: 38

VDAVID

XLDnaute Impliqué
Re : Selection dans listbox

Bonjour Stepsbysteps,
Pour trouver la ligne sélectionnée dans une listBox, tu peux utiliser la propriété : ListBox1.ListIndex.
Pour renvoyer ensuite ligne1 si la ligne 1 est renvoyée, (C'est à dire la valeur: "ligne sélectionnée" & "1er colonne" ) tu places:
ListBox1.List(ListBox1.ListIndex, 0) dans l'évènement Click de ta ListBox
Voir P.J
Bonne journée !
 

Pièces jointes

  • listbox(1).xls
    34 KB · Affichages: 46
  • listbox(1).xls
    34 KB · Affichages: 42
  • listbox(1).xls
    34 KB · Affichages: 38

Robert

XLDnaute Barbatruc
Repose en paix
Re : Selection dans listbox

Bonjour le fil, bonjour le forum,

Une petite précision para rapport à la réponse de Vdavid...
La liste indéxée des données d'une Listbox va 0 à (nombre de données -1). Donc une listbox de 10 éléments ira de 0 à 9. Si tu veux récupérer la numéro de ligne d'un élément sélectionné, il te faut utiliser la propriété ListIndex + (numéro de la première ligne de ton tableau).
En effet, si ton tableau (sans aucune ligne vide au milieu) commence à la ligne 5 par exemple et que tu coches le 3ème élément de ce tableau (propiété ListIndex = 2), tu auras ligne = ListIndex + 5 (donc = 7).
En pièce jointe un petit exemple pour clarifier tout ça...
 

Pièces jointes

  • pasapas_v01.xls
    40.5 KB · Affichages: 53

stepsbysteps

XLDnaute Nouveau
Re : Selection dans listbox

Bonjour, j'ai un problème que je ne comprends pas dans mes listbox, peut être un problème de taille ou quoi.
je vous laisse regarder

C'est assez bizarre

Merci
Code:
    UserForm1.ListBox1.ColumnCount = 12
    UserForm1.ListBox1.ColumnWidths = "70;120;70;100;70;70;70;70;70;70;70;70"
    
    UserForm1.ListBox1.AddItem "SIREN"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 1) = "A"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 2) = "B"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 3) = "C"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 4) = "D"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 5) = "E"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 6) = "F"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 7) = "G"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 8) = "H"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 9) = "I"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 10) = "J"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 11) = "K"

Le code beugue pour
Code:
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 10) = "J"
    UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 11) = "K
 

Pièces jointes

  • Test_listbox.xls
    41.5 KB · Affichages: 34
  • Test_listbox.xls
    41.5 KB · Affichages: 40
  • Test_listbox.xls
    41.5 KB · Affichages: 36

Discussions similaires

Réponses
4
Affichages
213
Réponses
17
Affichages
841

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet