Filtre Listbox, Bouton vers lien, Recherche

Bonjour,

Certains d'entre vous que je remercie m'ont déjà aidé sur mon fichier et je les en remercie encore !

3 problèmes s'ouvrent à moi actuellement :

1) Comment filtrer la ListBox1 selon les checkbox 1, 4 et 5

La checkbox 1 et 4 intervient sur la colonne du "statut de la demande", j'ai déja mit les filtres en place cependant cela n'a aucun impact sur la listbox

La checkbox 5 intervient sur la colonne "sensible", cependant vu que mes efforts pour le dessus ont étaient vains, je n'ai mis encore en place aucun filtre, les critères étant oui ou non

-----------------------------------------------------------------------------------------------------------------

2) La colonne "url du document" envoie un texte qui est en faite une url

Comment transformer ce texte en lien internet, et comment faire pour que lorsqu'on clique sur une ligne de la listbox, et que l'on clique sur le commandbutton2 cela nous ramène sur le site

-----------------------------------------------------------------------------------------------------------------

3) Le textbox2, permettrait de faire une recherche dans les fields 1 (reférence), 2(date de création) ,3(Titre), 6(Résumé de la demande) ou 8(Statut de la demande) de la listbox1

Mes compétences en vba étant limité, je n'arrive pas à adapter ce qui existe déja à mon cas

Je vous remercie déjà d'avance de vous penchez sur mon problème !

Merci,

QL

20test-forum.zip (622.11 Ko)

Bonjour,

En regardant votre fichier, vous pouvez déjà effectuer les modifications suivantes :

1. En haut au niveau de Option Explicit, la déclaration des variables pour les feuilles FB et FF doit être comme ceci

Dim Fb As Worksheet, Ff As Worksheet

2. Remplacez la Macro Initialize par celle ci-dessous

Private Sub UserForm_Initialize()
Set Fb = Sheets("DI")
Set Ff = Sheets("DNAIT")

On Error Resume Next
Fb.ShowAllData
Ff.ShowAllData
On Error GoTo 0

With ListBox1
    .Clear
    'Paramètrage de la ListBox
    .ColumnCount = 8    'Nombre de colonne
    .ColumnWidths = "72; 50; 120; 100; 150; 230;30;80"    'La taille des colonnes
End With

Me.OptionButton1.Value = True

'Paramètrage du Textbox
TextBox1.SetFocus ' Donner focus à tbox pour
' activer la scrollbar
TextBox1.CurLine = 0 ' et remonter à la première
' ligne de texte, sinon la tbox
' reste sur la dernière ligne
End Sub

3. Supprimez dans tous les autres codes ces deux lignes (pas dans la sub Initialize évidemment)

Set Fb = Sheets("DI")
Set Ff = Sheets("DNAIT")

4. Remplacez la Private Sub AlimenteList() par celle ci-dessous

Private Sub AlimenteList()
Dim i As Integer
Dim Bd, Bf

Bd = ""
Me.ListBox1.Clear
On Error resume next
If Page = "DI" Then
    Bd = Fb.ListObjects("Tableau7").DataBodyRange.SpecialCells(xlCellTypeVisible)
    For i = LBound(Bd) To UBound(Bd)
        If Bd(i, 1) <> "" And Bd(i, 9) <> "Brouillon" Then
            Me.ListBox1.AddItem Bd(i, 1)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Left(Bd(i, 2), 10)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Bd(i, 3)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Bd(i, 4)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Bd(i, 6)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Bd(i, 7)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Bd(i, 8)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Bd(i, 9)
        End If
    Next i
End If

If Page = "DNAIT" Then
    Bf = Ff.ListObjects("Tableau1").DataBodyRange.SpecialCells(xlCellTypeVisible)
    For i = LBound(Bf) To UBound(Bf)
      If Bf(i, 1) <> "" And Bf(i, 9) <> "Brouillon" Then
            Me.ListBox1.AddItem Bf(i, 1)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Left(Bf(i, 2), 10)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Bf(i, 3)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Bf(i, 4)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Bf(i, 6)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Bf(i, 7)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Bf(i, 8)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Bf(i, 9)
        End If
    Next i
End If

End Sub

5. Dans les Private Sub OptionButton1_Click() et Private Sub OptionButton2_Click(), ajoutez ces 3 lignes juste en dessous de l'instruction PAGE =

CheckBox1.Value = False
CheckBox4.Value = False
CheckBox5.Value = False

6. Pour votre point 1

La checkbox 5 intervient sur la colonne "sensible", cependant vu que mes efforts pour le dessus ont étaient vains, je n'ai mis encore en place aucun filtre, les critères étant oui ou non

Une fois la checkbox 5 cochée, quel peut être ou doit être le statut des checkbox1 et 4 ? Je suppose décochées ?

Bonjour,

Merci beaucoup pour toutes ces corrections apporter à mon fichier !

Une fois la checkbox 5 cochée, quel peut être ou doit être le statut des checkbox1 et 4 ? Je suppose décochées ?

Non, si la 1 est coché la 4 ne l'est pas et inversement, mais la 1 et la 5 peuvent l'être, ainsi que la 4 et la 5 !

Dites-moi si vous avez d'autres questions !

Encore merci

QL

Et la case à cocher 5 peut être cochée seule ou vous devez au moins avoir la 1 ou la 4 cochée pour cocher la 5 ?

Bonjour,

La case 5 peut être seule.

N'hésitez pas si vous avez d'autres questions,

Bon lundi !

Bonjour

Les propositions que je vous avaient faites ont posé quelques soucis en fonction des options choisies. Pour faire simple, je vous reposte le fichier car j'ai dû modifier les codes et ajouter pour la checkbox5.

Il y a dans votre fichier un module qui, je pense ne sert pas. Le module concerne la fonctionnement de la souris dans les listbox. Quel est le but de ce code ??

NB : comme vous avez mis en forme les feuilles en tableau structuré, vous ne devez pas laisser de lignes vides en dessous de la dernière ligne. Le fait de travailler en tableau structuré ne nécessite pas de mettre en forme votre tableau à l'avance comme vous l'avez fait dans une de vos feuilles (la DI je pense). J'ai donc supprimé toutes les lignes vides.

14test-forum.zip (726.08 Ko)
Rechercher des sujets similaires à "filtre listbox bouton lien recherche"