Bonjour,
J'essaye d'afficher des données filtrées dans ListBox
L'affichage fonctionne bien avec la fonction ListBox1.AddItem mais lorsque je clique sur un élément de la Listbox pour afficher les détails dans des Textbox, ce sont les données d'un autre élément qui sont pris en compte
Je suis sur que ctte situation a déjà été posée dans ce forum mais je ne trouve aucune discussion qui répond à ma question
Voici le code pour ajouter des éléments à la listeBox :
Private Sub Affiche_Liste()
With Me.ListBox1
.ColumnCount = 4
.ColumnWidths = "80;100;120;80" 'Statut,Nom, Prénom, CodePostal
.Clear
End With
Dim k, i
k = 0
With Sheets("Data")
For i = 3 To .[A65000].End(xlUp).row
If .Cells(i, 2) = "TempsPlein" Then
Me.ListBox1.AddItem
Me.ListBox1.List(k, 0) = .Cells(i, 2) 'Statut
Me.ListBox1.List(k, 1) = .Cells(i, 3) 'Nom
Me.ListBox1.List(k, 2) = .Cells(i, 4) 'Prénom
Me.ListBox1.List(k, 3) = .Cells(i, 8) 'CodePostal
k = k + 1
End If
Next i
End With
End Sub
Voici le code pour afficher dans des texxbox :
Private Sub ListBox1_Click()
Dim Ligne As Long
Ligne = Me.ListBox1.ListIndex + 3
With Sheets("Data")
txt_date = .Range("A" & Ligne)
txt_statut = .Range("B" & Ligne)
txt_nom = .Range("C" & Ligne)
txt_prenom = .Range("D" & Ligne)
txt_ddn = .Range("E" & Ligne)
txt_tel = .Range("F" & Ligne)
txt_adresse = .Range("G" & Ligne)
txt_codepostal = .Range("H" & Ligne)
End With
End Sub
Merci pour vos conseils
J'essaye d'afficher des données filtrées dans ListBox
L'affichage fonctionne bien avec la fonction ListBox1.AddItem mais lorsque je clique sur un élément de la Listbox pour afficher les détails dans des Textbox, ce sont les données d'un autre élément qui sont pris en compte
Je suis sur que ctte situation a déjà été posée dans ce forum mais je ne trouve aucune discussion qui répond à ma question
Voici le code pour ajouter des éléments à la listeBox :
Private Sub Affiche_Liste()
With Me.ListBox1
.ColumnCount = 4
.ColumnWidths = "80;100;120;80" 'Statut,Nom, Prénom, CodePostal
.Clear
End With
Dim k, i
k = 0
With Sheets("Data")
For i = 3 To .[A65000].End(xlUp).row
If .Cells(i, 2) = "TempsPlein" Then
Me.ListBox1.AddItem
Me.ListBox1.List(k, 0) = .Cells(i, 2) 'Statut
Me.ListBox1.List(k, 1) = .Cells(i, 3) 'Nom
Me.ListBox1.List(k, 2) = .Cells(i, 4) 'Prénom
Me.ListBox1.List(k, 3) = .Cells(i, 8) 'CodePostal
k = k + 1
End If
Next i
End With
End Sub
Voici le code pour afficher dans des texxbox :
Private Sub ListBox1_Click()
Dim Ligne As Long
Ligne = Me.ListBox1.ListIndex + 3
With Sheets("Data")
txt_date = .Range("A" & Ligne)
txt_statut = .Range("B" & Ligne)
txt_nom = .Range("C" & Ligne)
txt_prenom = .Range("D" & Ligne)
txt_ddn = .Range("E" & Ligne)
txt_tel = .Range("F" & Ligne)
txt_adresse = .Range("G" & Ligne)
txt_codepostal = .Range("H" & Ligne)
End With
End Sub
Merci pour vos conseils
Pièces jointes
Dernière édition: