Filtrer des lignes à partir d'une liste déroulante à choix multiples

Résolu/Fermé
HEMIYELY Messages postés 61 Date d'inscription mercredi 10 mai 2017 Statut Membre Dernière intervention 25 janvier 2022 - 19 déc. 2018 à 17:24
HEMIYELY Messages postés 61 Date d'inscription mercredi 10 mai 2017 Statut Membre Dernière intervention 25 janvier 2022 - 20 déc. 2018 à 13:31
Bonjour,
Je souhaite filtrer des données à partir d'une liste déroulante à choix multiples

Voici le fichier : https://mon-partage.fr/f/thHjxLxe/

- La colonne C contient des keywords (plusieurs par cellules)
- Ces keywords sont listés un par un dans la feuille "Keywords"
- Dans la feuille "Liste des docs" je souhaite filtrer les articles s'ils contiennent les keywords de la liste "keywords"

J'aimerai avoir une sorte de boite de dialogue qui appairait avec la liste des keywords à sélectionner. Une fois que je les ai sélectionné, les articles contenants ces keywords apparaissent.

N'hésitez pas à me poser des questions si je ne suis pas assez explicite.

Merci d'avance

3 réponses

via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737
19 déc. 2018 à 18:09
Bonjour

Ton fichier avec la macro adéquate :
https://mon-partage.fr/f/hiKJ8Nk7/

Cdlmnt
Via
0
HEMIYELY Messages postés 61 Date d'inscription mercredi 10 mai 2017 Statut Membre Dernière intervention 25 janvier 2022
20 déc. 2018 à 11:05
Merci beaucoup pour le temps que vous avez consacré pour résoudre mon problème.
Pour des raisons de confidentialité, j'ai supprimé 2 colonnes (entre "Article title" et "Main message"). J'ai essayé de modifier le code en ajoutant ces deux colonnes mais la macro ne fonctionne pas correctement.
Pouvez-vous me dire ce que je dois modifier dans le code si j'ajoute ces 2 colonnes ?
Cordialement
0
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737
20 déc. 2018 à 11:55
Bonjour

La macro associée au bouton de l'userform :
Private Sub CommandButton1_Click()
Dim i As Byte
 Range("F2:F113").ClearContents
    'boucle sur les éléments de la listbox et retiens ceux selectionnés
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
        cle = ListBox1.List(i)
'boucle sur les lignes et met un x en col Esi mot clé en col D
 For n = 2 To 113
 If Application.WorksheetFunction.CountIf(Range("D" & n), "*" & cle & "*") > 0 Then Range("E" & n) = "x"
  Next n
End If
      Next i
      Unload Me
 'filtre les x
  ActiveSheet.Range("$A$1:$F$113").AutoFilter Field:=4, Criteria1:="<>"
End Sub


Et la macro associée au 2eme bouton de la feuille :
Private Sub CommandButton2_Click()
 ActiveSheet.Range("$A$1:$F$113").AutoFilter Field:=4
End Sub

Cdlmnt
Via
0
HEMIYELY Messages postés 61 Date d'inscription mercredi 10 mai 2017 Statut Membre Dernière intervention 25 janvier 2022
20 déc. 2018 à 12:50
J'ai changé le code avec tes dernières infos mais il y a toujours un bug.
Voici le dernier fichier
https://mon-partage.fr/f/FiIRgE7k/
0
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737
20 déc. 2018 à 13:09
Ah pardon, oubli de ma part dans les 2 macros pour le trie il faut remplacer 4 par 6 dans Field:=4
0
HEMIYELY Messages postés 61 Date d'inscription mercredi 10 mai 2017 Statut Membre Dernière intervention 25 janvier 2022
20 déc. 2018 à 13:31
Parfait =)
Merci beaucoup
0