Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Récupérer une valeur dans une ListBox filtrée

Emli15

XLDnaute Nouveau
Bonjour,

Je suis embêtée et je ne trouve pas de solution à mon problème,
J'ai une ListBox que je peux filtrer à l'aide de Combobox, je récupère avec un double clique la valeur de la 6ème colonne de la ligne sélectionnée,
Puis charge une image, tout ça marche très bien sauf quand je filtre la ListBox en remplissant une ou des ComboBoxs.

Si quelqu'un à une idée, car là je ne sais vraiment plus où chercher.

Merci !


VB:
Private Sub ListBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

' Declaration des variables
Dim NuLigne As Integer
Dim intCurrentRow As Integer
Dim Index
 

' Boucle de recherche la ligne sélectionnée
For intCurrentRow = 0 To ListBox.ListCount - 1
If ListBox.Selected(intCurrentRow) Then
NuLigne = intCurrentRow
Exit For
End If
Next intCurrentRow


' récuperation de la valeur Index dans ListBox

    Index = ListBox.Column(6, NuLigne)


MonFichier = ("C:\Users...") & Index & (".jpg")

If FichierExiste(MonFichier) = True Then
        'MsgBox "Le fichier existe..."
        Label8.Visible = False
        Image1.Picture = LoadPicture(MonFichier)
    Else
        MsgBox "Le fichier image n'existe pas..."
        Image1.Picture = LoadPicture
    End If

End Sub
 
Solution
re
ton problème vient d'ailleurs ca n'a rien a voir avec le filtre
listindex de donne l'index de la ligne sélectionnée et 6 te donne la 7 eme colonne car la 1 commence à 0

après un petit fichier avec des données bidons serait le bien venu là on travaille en aveugle

patricktoulon

XLDnaute Barbatruc
bonjour à tous les deux
depuis quand on a besoins de boucler pour connaitre la ligne selectionnée
donc
VB:
'Dim NuLigne As Integer
'Dim intCurrentRow As Integer
Dim Index


' Boucle de recherche la ligne sélectionnée
'For intCurrentRow = 0 To ListBox.ListCount - 1
'If ListBox.Selected(intCurrentRow) Then
'NuLigne = intCurrentRow
'Exit For
'End If
'Next intCurrentRow


' récuperation de la valeur Index dans ListBox

   '' Index = ListBox.Column(6, NuLigne)
with listbox:index=.list(.listindex,6):end with'attention index devient ce qui il a d'ecrit en list(laligne selectionnée,colonne6) 

MonFichier = ("C:\Users...") & Index & (".jpg")

'If FichierExiste(MonFichier) = True Then
  if dir(MonFichier) =<>"" then
  'MsgBox "Le fichier existe..."
        Label8.Visible = False
        Image1.Picture = LoadPicture(MonFichier)
    Else
        MsgBox "Le fichier image n'existe pas..."
        Image1.Picture = LoadPicture
    End If

End Sub
 

patricktoulon

XLDnaute Barbatruc
re
ton problème vient d'ailleurs ca n'a rien a voir avec le filtre
listindex de donne l'index de la ligne sélectionnée et 6 te donne la 7 eme colonne car la 1 commence à 0

après un petit fichier avec des données bidons serait le bien venu là on travaille en aveugle
 

Emli15

XLDnaute Nouveau
Bah je vous remercie, j'ai cherché l'erreur dans le filtre du coup et elle était bien là, j'ai pu la corriger merci beaucoup
VB:
Sub AlimenteListbox()

Dim i, K, Lig, Col
    
'Remplissage ListBox avec filtre

Set f = Sheets("tab")
Tbl1 = f.Range("A2:G" & f.[A65000].End(xlUp).Row).Value
Dim Tbl2: ReDim Tbl2(1 To UBound(Tbl1), 1 To 7) 'C'était resté "1 To 6 donc évidemment quand je cherchais la 7ème valeur ça ne marchait pas"


    
End Sub

Merci beaucoup !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…