XL 2013 Aide recherche listebox

filtre69

XLDnaute Occasionnel
Bonjour a tous et au forum
Je me suis permis de prendre un fichier qui fonctionne trés bien, j'aurais une demande supplementaire si possible sur votre fichier pouvez-vous rajouter l'option clic.
je m'explique une fois la ligne trouver dans la listbox en cliquant dessus je voudrais aller sur la ligne selectionner.
merci d'avance de votre gentillesse.
Cordialement
 

Pièces jointes

  • Classeur1-v7-4.xlsm
    20.6 KB · Affichages: 7
Solution
re
j'ai supprimé les index sur le tableau de recherche(colonne mergées) pour que l'intuitivité ne prenne pas en compte les indexs de ligne
et dimentionné les colonnes de la listbox au meme dimensions que la plage
tu peux donc réduire ton userform a 1050 de large et ta listebox à 1030 de large
vous avez tous cette vilaine manie de faire des userform en 4 k 🤣
sur un pc portable tu n'aurait jamais accès a tout l'userform sans le déplacer

VB:
Private Sub UserForm_Activate()
    Dim i&, plage As Range, ligneT, w, c
    Set plage = Sheets(1).Range("A1:P" & Cells(Rows.Count, 1).End(xlUp).Row)
    For c = 1 To plage.Columns.Count: w = w & plage.Cells(1, c).Width & ";": Next
    Me.ListBox1.ColumnWidths = w & 0
    tableau =...

patricktoulon

XLDnaute Barbatruc
re
demo7.gif


c'est quand meme mieux dans un post perso
voila le fichier corrigé
j'ai ajouté une colonne et mis les index de ligne
maintenant le .list(.listindex,.columncount-1) te donne l'index de ligne correspondant a la ligne sur feuille
 

Pièces jointes

  • listbox textbox intuitive v pat.xlsm
    22.8 KB · Affichages: 10

patricktoulon

XLDnaute Barbatruc
re
j'ai supprimé les index sur le tableau de recherche(colonne mergées) pour que l'intuitivité ne prenne pas en compte les indexs de ligne
et dimentionné les colonnes de la listbox au meme dimensions que la plage
tu peux donc réduire ton userform a 1050 de large et ta listebox à 1030 de large
vous avez tous cette vilaine manie de faire des userform en 4 k 🤣
sur un pc portable tu n'aurait jamais accès a tout l'userform sans le déplacer

VB:
Private Sub UserForm_Activate()
    Dim i&, plage As Range, ligneT, w, c
    Set plage = Sheets(1).Range("A1:P" & Cells(Rows.Count, 1).End(xlUp).Row)
    For c = 1 To plage.Columns.Count: w = w & plage.Cells(1, c).Width & ";": Next
    Me.ListBox1.ColumnWidths = w & 0
    tableau = plage.Value
    ReDim tbl(1 To UBound(tableau))
    ListBox1.ColumnCount = UBound(tableau, 2)
    For i = 1 To UBound(tableau)
        tableau(i, UBound(tableau, 2)) = i + plage.Row - 1
        ligneT = Application.Index(tableau, i, 0): ligneT(UBound(ligneT)) = ""
        tbl(i) = "|" & Join(ligneT, "|") & "|"
        DoEvents
    Next
    ListBox1.List = tableau
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 130
dernier inscrit
FRCRUNGR