cs_falafala
Messages postés74Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention23 décembre 2013
-
8 sept. 2006 à 15:20
cs_bipou
Messages postés61Date d'inscriptionmercredi 14 janvier 2004StatutMembreDernière intervention14 septembre 2006
-
14 sept. 2006 à 09:41
Bonjour à tous.
La macro suivante est censé chercher une date dans la case I2 et affecter cette date dans l'un des champs d'un tableau dynamique.
Or, j ai un petit soucis: lorsque dans I2 est inscrit 16/06/2006, la macro va choisir 6/16/2006 dans le tableau dynamique, date bien sur qui n'existe pas.
jour = Range("I2").Value
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Date"). _
CurrentPage = jour
Est ce que qq un sait pq?? Je vous remercie par avance/
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 8 sept. 2006 à 17:07
je l'ai essayé comme ça, en simple :
Dim dJour As Date
dJour = CDate(Range("A2").Value)
Range("B2").Value = dJour
' et dans A2 : 08/09/2006
et ça fonctionne, mais en tableau croisé dynamique, je ne sais pas si c'est différent.
As tu un message d'erreur, ou encore le même format ?
Quel est le format de la cellule de destination ?
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_bipou
Messages postés61Date d'inscriptionmercredi 14 janvier 2004StatutMembreDernière intervention14 septembre 2006 14 sept. 2006 à 09:41
bonjour
ceci marche chez moi :
jour = Range("I2").Value
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Date"). _
CurrentPage = Format(jour, "dd/mm/yyyy")
explication : comme je le disais précédemment VBA travaille avec le format date US mais dans certaines fonction, il tient compte du format de date paramètré dans Windows.
Ici, le tableau croisé dynamique a convertit en chaine de caratères la donnée "date" (mais dans le format paramétré dans windows i.e fançais)
la propriété CurrentPage demande donc une variable String qui doit être dans le même format que le format précédent)
en mettant seulement CurrentPage = jour
jour étant une donnée Date, CurrentPage attendant une donnée String, VBA transforme avec son propre format de date. Cette ligne revient à la même chose que CurrentPage = Format(jour, "mm/dd/yyyy") or ce n'est pas le format souhaité
J'éspère avoir été clair... (manque de sommeil ...)