Garder une variable en memoire
sabw
-
sabw -
sabw -
Bonjour,
Voici la macro que j'ai commencé en enregistrement, j'ai mis une variable correspondant aux semaines de l'année et chaque lundi je mets à jour mon fichier avec la semaine précédente.
Je voudrais savoir quoi ajouter à l a macro pour que la variable reste en mémoire à la fermeture du fichier. J'ai vu quelques solution sur le forum mais c'est compliqué à appliquer.
A la fin je renome la feuille avec la semaine travaillé.
Voici la macro que j'ai commencé en enregistrement, j'ai mis une variable correspondant aux semaines de l'année et chaque lundi je mets à jour mon fichier avec la semaine précédente.
Je voudrais savoir quoi ajouter à l a macro pour que la variable reste en mémoire à la fermeture du fichier. J'ai vu quelques solution sur le forum mais c'est compliqué à appliquer.
A la fin je renome la feuille avec la semaine travaillé.
Static a As Integer Sheets("TCD 2017 imp W5").Select For a = 1 To 52 ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("Week"). _ CurrentPage = "(Tous)" With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("Week") .PivotItems(a).Visible = False .PivotItems(a + 1).Visible = True End With Sheets("TCD 2017 imp W" & a - 1).Select Sheets("TCD 2017 imp W" & a - 1).Name = "TCD 2017 imp W" & a End Sub
A voir également:
- Garder une variable en memoire
- Mémoire vive - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- Nettoyer memoire iphone - Guide
- Comment garder le 0 devant les chiffres sur excel - Guide
- Word supprimer tableau mais garder texte ✓ - Forum Word
7 réponses
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
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