Probleme de date

ferdhy

XLDnaute Junior
Bonjour,

J'ai un souci avec un Tableau Croisé Dynamique. je l'actualise avec un code

Code:
m=8
a=Cdate(cells(1,9).value)
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").PivotFilters.Add _
Type:=xlDateBetween, Value1:=[B]m & "/1/2010"[/B], Value2:=[B]a[/B]
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh

Avec une machine où les dates Excel sont au format "mm/dd/yyyy" je met m & "/1/2010", le code s'execute sans probleme.
Avec une autre où les dates sont au format "yyyy/mm/dd", je met "2010/" & m & "/1", le code me renvoi une erreur en disant que le format de date n'est pas valide.

Comment puis je actualiser mon Tableau Croisé Dynamique qu'importe les format de date ?

Ferdhy
 

Pierrot93

XLDnaute Barbatruc
Re : Probleme de date

Bonjour,

pas 2007 mais bon, essaye en utilisant des variables de type "date" avec des dates reconnus par le language vba...

Code:
Dim m As Date, a As Date
m = #8/14/2010#
a = #8/25/2010#
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").PivotFilters.Add _
Type:=xlDateBetween, Value1:=m, Value2:=a

j'espère que cela t'aidera à avancer...
bon après midi
@
 

ferdhy

XLDnaute Junior
Re : Probleme de date

merci Pierrot93

je viens d'essayé, cela me renvoi toujours la meme erreur, m et a ont bel et bien les valeurs des date mais dans toute la ligne :
Code:
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").PivotFilters.Add _
Type:=xlDateBetween, Value1:=m, Value2:=a
est en jaune et le message dit la date n'est pas valide. Run Time Error '1004'

Merci

Ferdhy
 

ferdhy

XLDnaute Junior
Re : Probleme de date

Bonjour Pierrot93

je viens de comprendre qu'il faut eviter de mettre deux membres entre " " dans la partie Valeur1 ou dans la partie Valeur2.

j'ai remplacé "2010/" & m & "/1" par "2010/" & mj avec mj qui a pris la valeur de m & "/1"

Code:
m=8
mj=m & "/01"
a=Cdate(cells(1,9).value)
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("JnlDate").PivotFilters.Add _
Type:=xlDateBetween, Value1:="2010/" & mj, Value2:=a

ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh

et cela fonctionne bien.
Merci et bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 390
Messages
2 087 952
Membres
103 683
dernier inscrit
Cescodelvar