Code VBA filtre entre deux dates
Fermé
SAYRO
Messages postés
154
Date d'inscription
mardi 6 mars 2018
Statut
Membre
Dernière intervention
7 septembre 2022
-
23 nov. 2018 à 11:07
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 27 nov. 2018 à 17:48
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 27 nov. 2018 à 17:48
A voir également:
- Code VBA filtre entre deux dates
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
2 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
27 nov. 2018 à 09:11
27 nov. 2018 à 09:11
Bonjour,
Un exemple, les dates et les données sont en colonnes I et J, le TCD en A et B
Avec le fichier, filtre sur les dates comprises entre le 06/10/18 et le 16/01/18 (dates de début et de fin comprises)
https://www.cjoint.com/c/HKBijNO3Cgw
Ne reste plus qu'à l'adapter
cdlt
Un exemple, les dates et les données sont en colonnes I et J, le TCD en A et B
Sub exclure() Application.ScreenUpdating = False ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields("dates_x").ClearManualFilter ' on enlève les filtres précédents 'Exlusion dans le TCD DateDeb = [I7] ' date de début choisie DateFin = [I16] ' date de fin choisie Set PosDeb = Columns("A").Find(DateDeb, LookIn:=xlValues) 'on recherche la position de la date de début dans le TCD vDeb = PosDeb.Row Set PosFin = Columns("A").Find(DateFin, LookIn:=xlValues) 'on recherche la position de la date de fin dans le TCD vFin = PosFin.Row DateDeb = Format([I7], "d/m/yyyy") 'on applique le format de date reconnaissable dans le TCD DateFin = Format([I16], "d/m/yyyy") 'on applique le format de date reconnaissable dans le TCD NbrVal = [A1000].End(xlUp).Row - 1 ' on compte le nombre de valeur dans le TCD For i = 2 To NbrVal If i < vDeb Or i - 1 > vFin Then ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields("dates_x").PivotItems(i - 1).Visible = False 'on masque tout ce qui hors des dates choisies Next i End Sub
Avec le fichier, filtre sur les dates comprises entre le 06/10/18 et le 16/01/18 (dates de début et de fin comprises)
https://www.cjoint.com/c/HKBijNO3Cgw
Ne reste plus qu'à l'adapter
cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
27 nov. 2018 à 17:48
27 nov. 2018 à 17:48
1-Les dates je les ai pas en colonne mais en filtre sur chaque TCD
Si vous avez ouvert le fichier joint, il y a un TCD et comme il est placé en colonne A et B, le filtre se fait sur la colonne A(dates), Tcd ou pas les données sont quand même en colonnes.
2- J'ai plusieurs TCD et non pas un seul , il suffit de reproduire le programme pour chaque TCD
3- J'ai deux cellules: une cellule ou je saisie la date de début et une autre cellule où je saisie la date de fin du filtre ces deux cellules sont dans la feuil1, le filtre sera fait en fonction de ces dates . Comme je ne connais la structure de votre fichier, j'ai mis des dates fixes. pour l'adapter à votre fichier , il faut remplacer les dates fixes par les cellules des dates debut et fin.
4- tous les TCD sont dans un un autre onglet en l’occurrence feuil2 et je souhaite faire le filtre sur tous les TCD Peu importe ou se trouve les TCD, ça ne changera rien au fonctionnement, il suffit de mettre les bonnes indications.
Si vous ne savez pas faire, déposez un fichier ayant la même structure , en prenant soin de remplacer auparavant les données confidentielles par des valeurs bidons.
Cdlt
Si vous avez ouvert le fichier joint, il y a un TCD et comme il est placé en colonne A et B, le filtre se fait sur la colonne A(dates), Tcd ou pas les données sont quand même en colonnes.
2- J'ai plusieurs TCD et non pas un seul , il suffit de reproduire le programme pour chaque TCD
3- J'ai deux cellules: une cellule ou je saisie la date de début et une autre cellule où je saisie la date de fin du filtre ces deux cellules sont dans la feuil1, le filtre sera fait en fonction de ces dates . Comme je ne connais la structure de votre fichier, j'ai mis des dates fixes. pour l'adapter à votre fichier , il faut remplacer les dates fixes par les cellules des dates debut et fin.
4- tous les TCD sont dans un un autre onglet en l’occurrence feuil2 et je souhaite faire le filtre sur tous les TCD Peu importe ou se trouve les TCD, ça ne changera rien au fonctionnement, il suffit de mettre les bonnes indications.
Si vous ne savez pas faire, déposez un fichier ayant la même structure , en prenant soin de remplacer auparavant les données confidentielles par des valeurs bidons.
Cdlt
27 nov. 2018 à 14:34
Merci beaucoup pour votre réponse,
La macro que vous m'avez proposée est difficile à adapter sur mon fichier je vais vous dire pour quoi:
1-Les dates je les ai pas en colonne mais en filtre sur chaque TCD
2- J'ai plusieurs TCD et non pas un seul
3- J'ai deux cellules: une cellule ou je saisie la date de début et une autre cellule où je saisie la date de fin du filtre ces deux cellules sont dans la feuil1, le filtre sera fait en fonction de ces dates
4- tous les TCD sont dans un un autre onglet en l’occurrence feuil2 et je souhaite faire le filtre sur tous les TCD
Je ne vois pas trop comment je peux adapter votre code sur mon fichier pouvez-vous m'expliquer un peu plus
Merci
Bonne journée