Problème de selection dans listbox

Bonjour à tous,

Je me permet d'ouvrir un nouveau post sur mon soucis, car finalement on pourrait croire qu'il faut me mâcher le travail, hors il n'en est pas question.

Donc, le seul et unique problème qui réside pour le moment, est, que lorsque je sélectionne un élément dans ma listbox, il ne me sort pas la bonne fiche, pour exemple :

mon tableau contient plus de 1400 lignes, chaque ligne correspond à une fiche (un rapport).

mon USF (composée de 4 combo et une listbox), les combo me servent à filtrer sur les élément de la listbox (en lien avec mon tableau)

et ensuite si je choisi la premiere ligne de la listbox (qui correspond via mon filtre a la ligne 605 du tableau) il me sort la premiere ligne du tableau...

Je ne peux mettre le fichier de part ça taille, mais le code utilisé si besoin...

Merci de votre aide

Chris

Bonjour,

Sans voir le malade... !

Mets déjà la macro qui te sort la ligne après sélection sur ListBox.

A+

Ferrand

Bonjour MFerrand,

Merci de ta reponse, il va falloir que je te mette le code complet, je vais le faire proprement qui fait quoi :

Les combobox qui filtre les elements

Private Sub ComboBox1_Change() ' ComboBox Site

Set plage = f.Range("A4:A" & f.Range("A" & Rows.Count).End(xlUp).Row)
ComboBox2.Clear: ComboBox3.Clear: ComboBox4.Clear

'Set dicoType = CreateObject("Scripting.Dictionary")
'Set dicoOI = CreateObject("Scripting.Dictionary")
'Set dicoDate = CreateObject("Scripting.Dictionary")

dicoType.RemoveAll: dicoOI.RemoveAll: dicoDate.RemoveAll

For Each C In plage
    If C.Value = ComboBox1 Then
        dicoType(C.Offset(0, 16).Value) = ""
        dicoOI(C.Offset(0, 2).Value) = ""
        dicoDate(C.Offset(0, 55).Value) = ""
    End If
Next C
ComboBox2.List = dicoType.Keys
ComboBox3.List = dicoOI.Keys
ComboBox4.List = dicoDate.Keys
Call ChargementListBox1

End Sub

Private Sub ComboBox2_Change() ' ComboBox Date

Set plage = f.Range("A4:A" & f.Range("A" & Rows.Count).End(xlUp).Row)
    ComboBox3.Clear: ComboBox4.Clear
    dicoOI.RemoveAll: dicoDate.RemoveAll
    For Each C In plage
        If C.Value = ComboBox1 And C.Offset(0, 16).Value = ComboBox2 Then
            dicoOI(C.Offset(0, 2).Value) = ""
            dicoDate(C.Offset(0, 55).Value) = ""
        End If
    Next C
    ComboBox3.List = dicoOI.Keys
    ComboBox4.List = dicoDate.Keys
    Call ChargementListBox1

End Sub
Private Sub ComboBox3_Change()

Set plage = f.Range("A4:A" & f.Range("A" & Rows.Count).End(xlUp).Row)
    ComboBox4.Clear
    dicoDate.RemoveAll
    For Each C In plage
        If C.Value = ComboBox1 And C.Offset(0, 16).Value = ComboBox2 And C.Offset(0, 2).Value = ComboBox3 Then
            dicoDate(C.Offset(0, 55).Value) = ""
        End If
    Next C
    ComboBox4.List = dicoDate.Keys
    Call ChargementListBox1

End Sub
Private Sub ComboBox4_Change()
Call ChargementListBox1
End Sub

Le chargement de la listbox

Sub ChargementListBox1()
    Set plage = f.Range("A4:A" & f.Range("A" & Rows.Count).End(xlUp).Row)
    ListBox1.Clear

        For Each C In plage
            If (C.Value = ComboBox1 Or ComboBox1 = "") And (C.Offset(0, 16).Value = ComboBox2 Or ComboBox2 = "") _
                                                    And (C.Offset(0, 2).Value = ComboBox3 Or ComboBox3 = "") _
                                                    And (C.Offset(0, 55).Value = ComboBox4 Or ComboBox4 = "") Then
                ListBox1.AddItem
                ListBox1.Column(0, ListBox1.ListCount - 1) = C.Offset(0, 55).Value
                ListBox1.Column(1, ListBox1.ListCount - 1) = C.Value
                ListBox1.Column(2, ListBox1.ListCount - 1) = C.Offset(0, 2).Value
                ListBox1.Column(3, ListBox1.ListCount - 1) = C.Offset(0, 9).Value
                ListBox1.Column(4, ListBox1.ListCount - 1) = C.Offset(0, 16).Value
            End If
        Next C

End Sub

Et le bouton servant a creer les fiche (le debut du code car il est tres tres long)

Private Sub Cmd_PDF_Click()

    rep = Environ("USERPROFILE") & "\"
    classeurpath = rep & "Documents\InspectionAncrages\Rapports_expertise\rap_exp_chevilles.xlsm"
    classeurphoto = rep & "Documents\InspectionAncrages\Photos"
    classeurplan = rep & " Documents\InspectionAncrages\Plans\RIMG"
    'ligne_fin = Cells.Find("*", Range("J1"), , , xlByRows, xlPrevious).Row

Set bdd = ThisWorkbook
Set rapex = Workbooks.Open(classeurpath)
nbToGo = ListBox1.ListCount

For i = 0 To nbToGo - 1
'Application.ScreenUpdating = False
    If ListBox1.Selected(i) = True Then
        'LI = i 'à adapter
       DoEvents
        'Creer_rapports
            With rapex.Worksheets("RE_Type_Cheville")
                    nrapex = CStr(bdd.Worksheets("BDD").Range("J" & i + 4))
                    rapex.Worksheets("RE_Type_Cheville").Copy Before:=rapex.Worksheets("RE_Type_Cheville")
                    ActiveSheet.Name = nrapex
            ' Renseignement sur l'inspection

Merci pour ton aide

Chris

Bonjour,

Il me semble que tu n'as pas lu ma demande.

Je ne vais pas avaler des centaines de lignes de code en faisant des hypothèses en l'absence de fichier...

Tu cherches pourquoi à ta sélection sur ListBox la sortie ne correspond pas.

Cette sortie (dont tu n'as pas précisé la nature) est donc produite par la sélection elle-même sur le ListBox ou par une action sur un bouton. L'un de ces deux évènements déclenche la procédure qui réalise la "sortie". Ou bien elle redonne la main à la procédure appelante (ou à une autre) pour récupérer le résultat de la recherche.

Sans fichier, on peut toujours examiner ces quelques lignes de code pour voir s'il est possible d'y déceler les raisons de ce que tu constates.

Si tu fournis l'information utile je regarde, mais je ne vais pas m'indigestionner avec la totalité de ton code et patauger dans des procédures de recherche conçues d'une façon (compliquée à loisir) que je ne partage pas [dans le cas général de recherche dans une base, je considère qu'un ComboBox est suffisant, accompagné du nombre de TextBox utiles, sauf cas spécifiques, mais ce n'est pas le lieu de développer ici...]

Cordialement,

Ferrand

Re,

Je rentre chez moi... (500km), je anonymiser le fichier et réduire ça taille puis le poster en détaillant le soucis

En attendant merci de te pencher sur mon soucis.

A bientôt

merci

Chris

Rechercher des sujets similaires à "probleme selection listbox"