Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Probleme de filtre tcd avec une macro

cerb_r

XLDnaute Nouveau
Bonjour a tous voila plusieurs jours et surtout heures que j essai de faire des tcd qui s 'actualiseraient sur une période de X jours en lançant une macro.

Avant toute chose je suis vraiment une bille en macro et je n'utilise d'ailleurs que la fonction enregistrement pour ensuite faire mon bricolage . donc tout le jargon technique est du chinois pour moi .

J ai réussis a faire quelque chose de pas mal ... mais je rencontre un problème sur certaine date ....j ai l impression que les jours et les mois sont inverser .... mais pas toujours .

Je vous joint mon fichier. je voudrais que mes tcd de la feuille "rapport pour client" ce mettent a jours pour la période défini par des dates que je rentre moi même en case N7 et N8 (qui seront par la suite "automatisé avec la fonction aujourdhui ) en cliquant sur le bouton au dessus .

Parfois ça fonctionne bien parfois bcp moins bien

Exemple:
- si on met en date de début 03/01/2017 et date de fin le 04/03/2017 mes tcd ne se mettent a jours que du 01/03/2017 au 04/03/2017
- si on met en date de debut 06/01/2017 et date de fin le 04/03/2017 ca me remonte un problème dans ma macro


- si on met en date de début 02/01/2017 et date de fin le 04/03/2017 mes tcd s actualise parfaitement




voila la macro que j ai bidouillé




Sub Macro7()
'
' Macro7 Macro
'

'
Dim debut, fin As String

debut = Cells(7, 14)
fin = Cells(8, 14)


ActiveWorkbook.RefreshAll


ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Date"). _
ClearAllFilters
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Date"). _
PivotFilters.Add Type:=xlDateBetween, Value1:=debut, Value2:=fin


ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Date"). _
ClearAllFilters
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Date"). _
PivotFilters.Add Type:=xlDateBetween, Value1:=debut, Value2:=fin

ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Date"). _
ClearAllFilters
ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Date"). _
PivotFilters.Add Type:=xlDateBetween, Value1:=debut, Value2:=fin


ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("Date"). _
ClearAllFilters
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("Date"). _
PivotFilters.Add Type:=xlDateBetween, Value1:=debut, Value2:=fin




End Sub


Si vous pouvez m'expliquer le pourquoi du comment ........

Merci d'avance pour votre aide
 

Pièces jointes

  • rapport journalier test v2.xlsm
    907.3 KB · Affichages: 33

cerb_r

XLDnaute Nouveau
Bonjour et merci pour ton aide .

Alors j ai essayer ce que tu m a dis ca a donc reglé le problème de la date de debut mais bizarement ca m a inverser le mois et le jour de la date de fin ....

Comme je suis le "roi" de la bidouille et que je fais des truc que je ne comprend pas vraiment

J'ai fais ca :

debut = CDate(Format(Cells(7, 14), "mm/dd/yyyy"))
fin = CDate(Format(Cells(8, 14), "dd/mm/yyyy"))

Et ca a l air de fonctionner ...... sans vraiment comprendre le pourquoi du comment ... si tu a une explication je suis preneur

Encore merci pour ton aide
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…