Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Filtre dans une ListBox

25 réponses
Avatar
DAVID
Bonsoir

J'essai de faire apparaitre dans une ListBox le résultat d'un filtre.

Merci de m'aider une nouvelle fois !!

J'ai essayé avec ce bout de code mais bon ...erreur "impossible de définir
la propriété RowsSource"

Private Sub Filtrer_Click()
Dim a As Single
Dim b As Single
a = CDate(Text1)
b = CDate(Text2)

Dim Filtre As Integer
Dim Plage As Range
Liste1.RowSource = Sheets("Feuil1").Range("A65536").End(xlUp).Row
Liste1.ListIndex = -1
Set Plage = Sheets("Feuil1").Range("A1:J" & Liste1.RowSource)
Plage.AutoFilter Field:=1, Criteria1:=">=" & a, Operator:=xlAnd,
Criteria2:="<=" & b

End Sub

5 réponses

1 2 3
Avatar
michdenis
| Suppression de l'entrée 10 et 8 !!!

Une entrée ça représente QUOI ?

Une ligne complète dans le tableau défini,
une cellule d'une ligne particulière ? Autre chose ?

Là, j'ai de la misère à te suivre !
Avatar
DAVID
Suppression de la ligne (de colonne A à I) dans la feuille "BD" ainsi que
celle 2 fois au dessus

Suppression de la ligne complète dans la ListBox ainsi que celle 2 fois au
dessus



Là, j'ai de la misère à te suivre !





Suis pas étonné !! quelle patiente
Avatar
michdenis
Je fais encore quelques tests et je n'arrive pas à reproduire
le comportement que tu décris lors de la suppression de données.

Ceci termine mon intervention sur ce fil.
Avatar
DAVID
Merci, je viens de trouver mais l'erreur était de moi (pas étonnant) désolé
En fait, il fallait, apparemment, pas mettre ceci tout simplement !
With Sheets("BD")
.Cells(X, 1).Delete
.Cells(X, 2).Delete
.etc
End With

Juste une petite explication :

Pourquoi nommer With Feuil1 avec le CodeName de la feuille. et non pas par
le nom de l'onglet ?

Merci de ton dévouement et de tes multiples interventions qui font de ce
forum un incontournable passage obligatoire pour nous novice et désireux
d'apprendre.

David
Avatar
michdenis
Lorsque tu utilises la propriété "Name" (codename), si tu modifies
l'onglet de la feuille, tu n'as rien à modifier dans le code.

D'autres raisons plus techniques...lors de la saisie, tu as droit
à la liste déroulante proposant les propriétés et méthodes
d'un objet "Feuille" lorsque tu utilises la propriété "Name"
des objets "Feuille" .
Exemple :
Feuil1. ->provoque la liste déroulante

Worksheets("Feuil1"). rien ne se passe !

En plus, c'est aussi l'équivalent d'une liaison précoce versus
une liaison tardive (je ne vais pas expliquer ça ici...)
ce qui rend le code un "tantinet" plus rapide à l'exécution.





"DAVID" a écrit dans le message de groupe de discussion :

Merci, je viens de trouver mais l'erreur était de moi (pas étonnant) désolé
En fait, il fallait, apparemment, pas mettre ceci tout simplement !
With Sheets("BD")
.Cells(X, 1).Delete
.Cells(X, 2).Delete
.etc
End With

Juste une petite explication :

Pourquoi nommer With Feuil1 avec le CodeName de la feuille. et non pas par
le nom de l'onglet ?

Merci de ton dévouement et de tes multiples interventions qui font de ce
forum un incontournable passage obligatoire pour nous novice et désireux
d'apprendre.

David
1 2 3