[Résolu][VBA] Autofilter avec nombre de critère variable

Verba_Tim

XLDnaute Occasionnel
Bonjour le forum :)

Je m'adresse encore à vous parce que je suis en train de me compliquer la vie avec ma macro, alors que je suis presque sur que je faire plus simple, même si je ne voie pas encore comment en fait :cool:

Le principe est simple:

J'ai un graph sur 24h, je veux zoomer sur une plage horaire préciser par l'utilisateur via un userform...
Le problème c'est que la taille de cette plage peu être variable: 4h 10h 20h... bref, ça peu être plus ou moins long.
Ensuite, je veut faire un autofilter qui me prendrai juste la plage demandé, et je copie ma sélection dans une page à part pour le nouveau traitement...

Le problème, c'est que l'autofilter accepte certes divers paramètre, mais comment faire en sortes qu'il s'adapte au nombre de variable??

Rappel du code de l'autofilter:
Code:
ActiveSheet.Range("$A$1:$R$4774").AutoFilter Field:=15, Criterial:=Array_
Mavar1, Mavar2, MavarX), Operator:=xlFiltrerValues


Merci d'avance de vous pencher sur mon problème ;)


Au plaisir de vous lire,



VB_T
 
Dernière édition:

Verba_Tim

XLDnaute Occasionnel
Re : [Résolu][VBA] Autofilter avec nombre de critère variable

Kjin (ou quelqu'un d'autre évidément ><)
,
J'ai une autre petite question, peu être toute bête ^^"

Imaginons que je veuille copier la colonne F en plus de V et H... ou que je veuille filtré pour qu'en plus je n'ai que les 'v' et non les 'vv'
Que dois-je modifié?

Au plaisir de vous lire,

VB_T
 

kjin

XLDnaute Barbatruc
Re : [Résolu][VBA] Autofilter avec nombre de critère variable

Bonjour,
Exemple suivant le fichier fourni initialement
Le tableau doit obligatoirement comporter une étiquette sur la ligne 1 pour pouvoir être filtré sur ce champ, ici tu noteras pour l'exemple "F" en A1
Les critères notés sur une même ligne utilisent la fonction ET, sur 2 lignes différentes la fonction OU, on peut évidemment combiner les 2, donc ici tous les critères seront sur la même ligne
Dans la macro, les critères du filtre, que tu ne vois pas puisqu'il sont supprimés en cours de procédure, deviennent...
Code:
    .[A1] = "F" 'le nouveau champs
    .[A2] = "'=v"
    .[B1:C1] = "H"
    .[B2] = "'>=" & deb
    .[C2] = "'<=" & fin
...et du coup la plage de critère est A1:C2 donc le filtre devient
Code:
    With [Feuil1]
        .Range("A1:I" & .Range("A65000").End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=[Feuil2].Range("A1:C2"), CopyToRange:=[Feuil2].Range("A3")
    End With
...le reste ne change pas
Reviens si tu rencontres des soucis
A+
kjin
 

Verba_Tim

XLDnaute Occasionnel
Re : [Résolu][VBA] Autofilter avec nombre de critère variable

Bonjour ^^
:) Une question: Immaginons que je veuille effectuer le tri selon 1 ou 2 paramètre (comme avant donc) mais que je veuille copier toutes les colonnes qui existe?

Exemple:
Je veux trié selon l'heure, mais je souhaite que toutes mes colonnes soient affiché pour la tranche horaire sélectionné. C'est faisable avec cette méthode? ou bien il faut passez par une autre méthode? (en gardant à l'esprit que la plage horaire est toujours variable ^^")

Au plaisir de vous lire :)


VB_T
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : [Résolu][VBA] Autofilter avec nombre de critère variable

Bonjour,
Immaginons que je veuille effectuer le tri selon 1 ou 2 paramètre...
La question porte sur un filtrage des données et non un tri, ce qui n'est pas la même chose !

Immaginons que je veuille effectuer le filtrage selon 1 ou 2 paramètre (comme avant donc) mais que je veuille copier toutes les colonnes qui existe?
Je ne comprends pas bien la question...
Regardes les paramètres du filtre élaboré, actuellement il s'applique sur la plage...

Code:
.Range("A1:I" & .Range("A65000").End(xlUp).Row).AdvancedFilter
...et renverra les données des colonnes A à I conformément au fichier que tu as transmis, et à adapter donc
A+
kjin
 

Verba_Tim

XLDnaute Occasionnel
Re : [Résolu][VBA] Autofilter avec nombre de critère variable

^^ j'ai vraiment pas été clair là ^^' c'était avant mon café... excusez moi :)
Il s'agit évidemment d'un filtrage, comme précédemment.
Sauf que précédemment, la méthode me recopiait UNIQUEMENT les colonnes qui m'intéressait, à savoir celles contenant les paramètres Heure/dates/H/V, certes comprise entre A et I, mais pas la totalité des colonnes compris entre A et I.
Mais imaginons que (toujours sur la base du fichier exemple), je souhaite obtenir une copie de ces colonnes, + une copie des colonnes qui ne sont pas directement concerné par le filtrage comme les colonnes XXX ou YYY.
Est-ce possible? Ou est-ce que cela demande l'utilisation d'une autre méthode?

Merci d'avance ^^


VB_T
 

Verba_Tim

XLDnaute Occasionnel
Re : [Résolu][VBA] Autofilter avec nombre de critère variable

Ah... J'avais pas vu ce passage ><
Maintenant que tu le dis c'est logique... :rolleyes:

Bon et bien désolé de poser des questions auxquelles j'ai déjà une réponse..
Et encore merci d'avoir pris le temps de me répondre ><

Merci Kjin ;) ,

Bonne journée :)


VB_T
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 170
Membres
103 151
dernier inscrit
nassim