Filtre à partir d'une listbox

chris6999

XLDnaute Impliqué
Bonjour le FORUM

Toujours en galère avec Excel mais inspirée par la nouvelle année, j'ai réussi à faire un filtre à partir des données à sélectionner dans une listbox.
Toutefois il reste à améliorer la performance de mon filtre notamment lorsque le critère sélectionné est absent de ma plage.

Pour faire simple je fais un filtre à partir des noms présentés dans ma list box.
Si je choisis Pierre qui n'existe pas dans la plage R7 à R20000 il ne se passe rien.
Le filtre reste ce qu'il était lors de la sélection précédente.
Voir fichier joint pour exemple.

Moi ce que je souhaiterais c'est que le filtre n'affiche rien (puisqu'il n'y a rien à afficher) et que j'ai un message du type Msgbox "Aucun élément trouvé pour ce nom"

Auriez-vous une idée sur ce point?
Merci d'avance pour votre aide

Cordialement
 

Pièces jointes

  • test filtre depuis listbox1.xls
    49.5 KB · Affichages: 99

néné06

XLDnaute Accro
Re : Filtre à partir d'une listbox

Bonjour Chris6999 et "Bonne Année 2013"

Peut-être avec un pointeur "existe"





Private Sub ListBox1_Click()
Dim cel As Range 'déclare la variable cel (CELlule)
existe = 0
With ActiveSheet 'prend en compte l'onglet "Devis"
'boucle sur toute les cellules éditées de la colonne A
For Each cel In .Range("A1:A" & .Range("A65536").End(xlUp).Row)
'si la valeur de la cellule correspond avec la valeur de l'élément sélectionné de la ListBox1,
'ajoute la cellule adjacente à la Listbox2
If cel.Value = Me.ListBox1.Value Then
Range("A6:F6").AutoFilter Field:=1, Criteria1:="=*" & cel.Value & "*"
existe = 1
End If
Next
End With
If existe = 0 Then MsgBox ("rien")
'fin de la prise en compote de l'onglet "Facture"
End Sub

A+

René
 

Discussions similaires