• Initiateur de la discussion Initiateur de la discussion sasjm37
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sasjm37

XLDnaute Junior
Bonjour le forum,
Grâce à une macro je désire filtrer une BDD via un Userform. J'ai un problème de syntaxe vu que je ne connais pas ni la colonne qui sera choisie par l'utilisateur ni la dernière ligne. Mais un fichier sera bien plus explicite.
Merci de votre aide
 

Pièces jointes

Re : syntaxe de range

Bonjour,
Comprends pas ! la colonne critère "sexe" est la colonne 8, il faudra nous expliquer comment on passe de 8 à 5 car d'explication il n'y en a point...
Code:
Range("A1").AutoFilter Field:=8, Criteria1:="<>femme"
A+
kjin
 
Re : syntaxe de range

Bonjour sasjm37, kjin, et à ceux qui passeront par ici,

(Au passage; je n'ai pas vu d'USF 😕)

Je pense que l'utilisation d'une ListView serait une solution intéressante.

Un simple Click sur l'en-tête des colonnes ferait un choix descendant ou ascendant.

Pour un tri élaboré; il suffirait de jouer avec une seconde ListView.

Si cela te tente, on peut aller plus loin.

Amicalement.

Yann
 
Re : syntaxe de range

Bonjour kjin,
merci de ta réponse mais je ne passe pas de l'un à l'autre, ce sont deux exemples différents : le premier concerne la colonne 8 et le deuxième la colonne 5. Je désire écrire la deuxième formule (colonne 5) sur le même principe que la première (colonne 8). Désolé de vous avoir embrouiller.
SASJM37
 
Re : syntaxe de range

Bonjour YANN-56 et tout ceux qui passent par là,
Je n'ai pas mis l'Userform. Je ne vois pas trop comment gérer une Listview avec le filtre élaboré mais je suis preneur. As-tu un exemple de macro sur ce principe ?
A+
SASJM37
 
Re : syntaxe de range

Bonjour Bjin,
Je vais reformuler ma demande.
la syntaxe suivante 'Range("B1:B" & Range("B65536").End(xlUp).Row).AutoFilter Field:=1, Criteria1:="<>2"' me convient parfaitement, seulement je dois l'adapter car je ne connais pas à l'avance la colonne qui sera filtrer. Donc en conservant le même type de formule et sachant que la variable 'CHOIX' sera le numéro de la colonne j'ai écrit 'Range(Cells(1, CHOIX), Cells(CHOIX) & Range(Cells(65535, CHOIX)).End(xlUp).Row).AutoFilter Field:=1, Criteria1:="<>2"' mais ça ne fonctionne pas.
Je n'ai pas parlé de tri et le formulaire n'apportera rien de plus à la compréhension du problème.
Je te remercie néanmoins de prendre du temps pour m'aider.
Cordialement
SASJM37
PS : la formule 'Range(cells(1,CHOIX)).AutoFilter Field:=CHOIX, Criteria1:="="' fonctionne, mais elle filtre toutes les colonnes et ce n'est pas mon souhait.
 
Re : syntaxe de range

Bonjour, salut Pierrot 🙂,
Je n'ai pas parlé de tri...
extrait du fichier joint à dit:
Bonjour,
Je veux trier la BDD grâce à un Userform, mais ça bug …
merci de votre aide
...et le formulaire n'apportera rien de plus à la compréhension du problème.
Si tu le dis !
Note que....
Code:
Dim col As Byte
col = 8
Range("A1").AutoFilter Field:=col, Criteria1:="<>femme"
...et...
Code:
Dim col As Byte
col = 8
Range(Cells(1, col), Cells(65536, col).End(xlUp)).AutoFilter Field:=1, Criteria1:="<>femme"
...renverrons le même résultat, les petites flèches en moins dans le second cas
A+
kjin
 
Dernière édition:
Re : syntaxe de range

Bonjour sasjm37, kjin🙂, Pierrot🙂, et à ceux qui passeront par ici,

Sasjm, je te proposais l'utilisation d'une ListView
en espérant t'entendre dire si tu savais un peu utiliser ce type de contrôle.

Quoiqu'il en soit; je te joins un exemple.

Je n'ai pas paramétré les "Click sur en-tête de colonne", mais juste deux boutons.

Les codes sont simples, et si tu bidouilles un peu le VBA tu pourras extrapoler.

Ce n'est qu'une idée. A toi de t'en servir, si tu le souhaites.

Amicalement.

Yann
 

Pièces jointes

Dernière édition:
Re : syntaxe de range

[Résolu]
Bonjour Yann-56, kjin, Pierrot93, et tous les autres,
Votre aide a été précieuse et a répondu à mes attentes.
Kjin je fais mon méa culpa.
Pierrot93 la formule me convient très bien.
Yann-56 je vais décortiquer le code et m'en servir soit en sur.
MERCI beaucoup
Cordialement
SASJM37
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
167
Retour