A voir également:
- Garder une variable en memoire
- Mémoire vive - Guide
- Test memoire pc - Guide
- Excel garder une ligne fixe - Guide
- Vider memoire iphone - Guide
7 réponses
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
13 févr. 2017 à 13:57
13 févr. 2017 à 13:57
Bonjour,
Le plus simple .. c'est de stocker la variable en question dans une cellule d'un onglet de ton fichier excel ....
pour que la variable reste en mémoire à la fermeture du fichier
Le plus simple .. c'est de stocker la variable en question dans une cellule d'un onglet de ton fichier excel ....
Bjr
J'ai essayé mais ça marche pas.
La variable s'incrémente bien mais n'est pas récupérée par le champs Week
du TCD et ne renomme pas la feuille non plus.
Voici la macro
J'ai essayé mais ça marche pas.
La variable s'incrémente bien mais n'est pas récupérée par le champs Week
du TCD et ne renomme pas la feuille non plus.
Voici la macro
Sub Macro2() Dim mavar As Long Sheets("TCD 2017 imp W4").Select mavar = Range("P1").Value MsgBox mavar ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("Week"). _ CurrentPage = mavar With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("Week") .PivotItems(mavar).Visible = False .PivotItems(mavar + 1).Visible = True End With Range("P1").Value = mavar + 1 Sheets("TCD 2017 imp W" & mavar - 1).Select Sheets("TCD 2017 imp W" & mavar - 1).Name = "TCD 2017 imp W" & mavar End Sub
EDIT : Ajout des balises de code
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
14 févr. 2017 à 11:45
14 févr. 2017 à 11:45
Bonjour,
Es-tu sûr que ton TCD se nomme Tableau croisé dynamique5 sur la page pointée par "mavar" ?
Es-tu sûr que ton TCD se nomme Tableau croisé dynamique5 sur la page pointée par "mavar" ?
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
14 févr. 2017 à 12:15
14 févr. 2017 à 12:15
Ton champ "Week" est bien un champ "page" ?
Si non... tu ne peux pas utiliser currentPage.
Essaye plutôt un truc du genre : (codé sans tester...)
Si non... tu ne peux pas utiliser currentPage.
Essaye plutôt un truc du genre : (codé sans tester...)
Dim mavar As Long Dim oSh as WorkSheet Dim pvtTable as PivotTable Set oSh = Sheets("TCD 2017 imp W4") mavar = oSh.Range("P1").Value Set pvtTable = oSh.PivotTable("Tableau croisé dynamique5") With pvtTable.PivotFields("Week") .ClearAllFilters .PivotFilters.Add Type:=xlCaptionEquals, Value1:=mavar End With
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
J'ai testé mais ça marche pas j'ai "Menbre de methode ou de données introuvable " au niveau du Set pvtTable = oSh.PivotTable("Import 1 week")
Au passage j'ai modifié le nom du TCD pour que ce soit plus claire mais tout
correspond.
J'ai testé mais ça marche pas j'ai "Menbre de methode ou de données introuvable " au niveau du Set pvtTable = oSh.PivotTable("Import 1 week")
Au passage j'ai modifié le nom du TCD pour que ce soit plus claire mais tout
correspond.
Rebonjour
J'ai réussi à restifier une ligne mais maintenant j'ai 'erreur définis par l'application ou par l'objet à la ligne : .PivotFilters.Add Type:=xlCaptionEquals, Value1:=mavar
Je ne sais pas ce que ça signifie.
quelqu'un peut il m'aider svp?
J'ai réussi à restifier une ligne mais maintenant j'ai 'erreur définis par l'application ou par l'objet à la ligne : .PivotFilters.Add Type:=xlCaptionEquals, Value1:=mavar
Je ne sais pas ce que ça signifie.
quelqu'un peut il m'aider svp?
ça y est j'ai trouvé la solution.
Pour ceux qui pourraient être intéressés voici la macro peut être simpliste mais qui fonctionne.
Sub Macro2()
Dim mavar As Long
mavar = Range("p1").Value
'ActiveSheet.PivotTables("Import 1 week").PivotFields("Week").CurrentPage = _
"(Tous)"
With ActiveSheet.PivotTables("Import 1 week").PivotFields("Week")
.PivotItems(CStr(mavar)).Visible = False
.PivotItems(CStr(mavar + 1)).Visible = True
End With
Worksheets("TCD 2017 imp W" & mavar).Name = ("TCD 2017 imp W" & mavar + 1)
Range("p1").Value = mavar + 1
End Sub
Pour ceux qui pourraient être intéressés voici la macro peut être simpliste mais qui fonctionne.
Sub Macro2()
Dim mavar As Long
mavar = Range("p1").Value
'ActiveSheet.PivotTables("Import 1 week").PivotFields("Week").CurrentPage = _
"(Tous)"
With ActiveSheet.PivotTables("Import 1 week").PivotFields("Week")
.PivotItems(CStr(mavar)).Visible = False
.PivotItems(CStr(mavar + 1)).Visible = True
End With
Worksheets("TCD 2017 imp W" & mavar).Name = ("TCD 2017 imp W" & mavar + 1)
Range("p1").Value = mavar + 1
End Sub