[VBA] Filtrage d'une colonne en VBA

  • Initiateur de la discussion Initiateur de la discussion SkinDash
  • 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 !

SkinDash

XLDnaute Nouveau
Bonjour,

J'ai débuté un code VBA sur le fichier joint, mais je n'arrive pas à avancer d'avantage...

Je cherche à filtrer plusieurs choses sur la feuille "Data" :

- Filtrer la colonne B (source) en fonction du nombre trouvé en G7 sur la feuille "Fraud Monitoring - PX level"
- Filtrer la colonne T (totalRisk), garder toute les lignes supérieur ou égal au nombre renseigné en M11 sur la feuille "Fraud Monitoring - PX level"
- Filtrer la colonne U (totalRiskRatio), garder toute les lignes supérieur ou égal au pourcentage renseigné en O11 sur la feuille "Fraud Monitoring - PX level"

J'ai essayé pour le premier filtre un:

With Worksheets("Data")
.AutoFilter Field:=Rows(1).Find("source", lookat:=xlWhole).Column, Criteria1:=Array(Id), Operator:=xlFilterValues
End With

Mais j'ai le message d'erreur Variable objet ou variable de bloc With non définie.


Si possible, je souhaiterais ajouter le résultat des 3 filtres précents, sur la feuille "Fraud Monitoring - PX level" dans la range "M16😛46" (que je clear quand la macro se lance Worksheets("Fraud Monitoring - PX level").Range("M16😛46").ClearContents)

J'ai uniquement besoin de remonter le Publisher (colonne BH sur la feuille "Data"), le Site (colonne BG sur la feuille "Data"), la zone (colonne C sur la feuille "Data") et le jour (colonne BK sur la feuille "Data").

J'ai mis par défaut 31 emplacement, mais il n'y en aura jamais autant.

Si quelqu'un a un idée de ce qui bloque ça m'aiderait beaucoup,

Merci et bonne journée 🙂

Ps: La feuille data faisait plus de 150K lignes, j'ai du supprimer des lignes pour pouvoir poster la feuille sur le Forum, c'est normal que beaucoup d'ID ne soient pas trouvé.
 

Pièces jointes

Dernière édition:
Re : [VBA] Filtrage d'une colonne en VBA

Salut SkinDash,
Je ne suis pas sur d'avoir tout compris.
- Filtrer la colonne B (source) en fonction du nombre trouvé en G7 sur la feuille "Fraud Monitoring - PX level"
- Filtrer la colonne T (totalRisk), garder toute les lignes supérieur ou égal au nombre renseigné en M11 sur la feuille "Fraud Monitoring - PX level"
- Filtrer la colonne U (totalRiskRatio), garder toute les lignes supérieur ou égal au pourcentage renseigné en O11 sur la feuille "Fraud Monitoring - PX level"
Est-ce trois filtres différents, donc 3 opérations consécutives, ou simplement un seul filtre comprenant ces 3 critères ?
Je comptais passer par les filtres élaborés mais actuellement, si 3 critères pour un seul filtre, résultat=RIEN
@+ Lolote83
 
Re : [VBA] Filtrage d'une colonne en VBA

Bonjour Lolote,

Merci pour ton temps ! 🙂

Oui effectivement il s'agit d'un seul et même filtre, mais avec des critères différents sur ces 3 colonnes.

C'est normal qu'il n'y ait aucun résultat qui remonte, j'ai dû supprimer des lignes pour pouvoir poster le fichier.

En d'autres termes, je souhaite par exemple filter la source (colonne B) 12345 pour lesquel il y a plus de 1000 totalRisk (colonne T) et dont le totalRiskRatio est de plus de 3% (colonne U), en sachant que 12345, 1000 et 3% sont des variables.
 
Dernière édition:
Re : [VBA] Filtrage d'une colonne en VBA

Re salut,
Voici donc un début de solution, mais n'ayant aucune donnée remontée, je ne peux pas traiter la deuxième partie à savoir :
Si possible, je souhaiterais ajouter le résultat des 3 filtres précents, sur la feuille "Fraud Monitoring - PX level" dans la range "M16😛46" (que je clear quand la macro se lance Worksheets("Fraud Monitoring - PX level").Range("M16😛46").ClearContents)

J'ai uniquement besoin de remonter le Publisher (colonne BH sur la feuille "Data"), le Site (colonne BG sur la feuille "Data"), la zone (colonne C sur la feuille "Data") et le jour (colonne BK sur la feuille "Data").
Voir onglet FE
@+ Lolote83
 

Pièces jointes

Re : [VBA] Filtrage d'une colonne en VBA

C'est Top !

Est-ce que tu pourrais simplement ajouter en plus de subsource(PUBLISHER) domain(SITE) campaign(ZONE) sur ta feuille "FE" en D10 le day correspondant ? (colonne BK de la feuille Data)

Merci beaucoup pour ta réactivité, vraiment sympa ! 😉
 
Re : [VBA] Filtrage d'une colonne en VBA

Re,
Voilà, c'est fait
@+ Lolote83

En fait j'ai un souci sur le filtre, quand je met autre chose que 0% dans "totalRiskRatio" (feuille FE cellule C2), le filtre ne marche plus, il n'y a plus aucun data remonté.

J'ai fait deux trois modifs dans le fichier, la macro est call lorsque la cellule D7 de la feuille "Fraud Monitoring - PX level" change.

J'ai laissé de la data pour faire le test avec la valeur "Digiteka" (Id 39), normalement avec ces valeurs:

source totalRisk totalRiskRatio
39 >=1 >=0,005

Des lignes devraient remonter.

J'ai juste l'entête du tableau qui est copié collé, en M16 N16 O16 P16 je me retrouve avec [subsource (PUBLISHER) domain (SITE) campaign (ZONE) Day]
 

Pièces jointes

- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
84
Réponses
38
Affichages
504
Réponses
8
Affichages
444
  • Question Question
Power Query Power Query
Réponses
26
Affichages
451
Retour