XL 2013 Aide recherche listebox

  • Initiateur de la discussion Initiateur de la discussion filtre69
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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 =...
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
217
Réponses
7
Affichages
413
Retour