Voil=E0 j'ai plusieurs TDC faisant r=E9f=E9rence =E0 une source de donn=E9e
se trouvant en feuille("donn=E9es globales")
cette source se trouve en colonne A =E0 BA sur n ligne.
Comme je met =E0 jour cette base donn=E9e r=E9guli=E8rement le nombre de
ligne de celle-ci varie. c'est pourquoi je voudrais cr=E9er un bouton
qui me mette =E0 taille de ma source sachant que je ne peut pas
s=E9lectionner toute la feuille vue que dans mes tdc je groupe mes
dates.
je suis capable de savoir le num=E9ros de la derni=E8re ligne avec ce
code :
Par contre je n'arrive pas cr=E9er ma plage source de mon TDC du style
Range("A1","BA" & l)
J'ai essayer plusieurs code trouver sur le forum mais lorsque je
compile il me trouve un erreur =E0 cette ligne.
Set P =3D Worksheets("donn=E9es globales").PivotTables(1)
Auriez vous un code pouvant r=E9pondre =E0 mon probl=E8me ou m'expliquer
pourquoi cela ne fonctionne pas?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour La solution peut consister à définir un nom dynamique pour ta plage de données. Dans ton cas, par exemple : Insertion, Nom, Définir Nom : Donnees Fait référence à : =INDIRECT("A1:BA" & NBVAL(Feuil1!A:A))
Puis d'utiliser ce nom pour faire référence à la source de ton TCD.
Cordialement Pascal
"Yoyo" a écrit dans le message de news:
Bonjour à tous et merci de me lire.
Voilà j'ai plusieurs TDC faisant référence à une source de donnée se trouvant en feuille("données globales") cette source se trouve en colonne A à BA sur n ligne. Comme je met à jour cette base donnée régulièrement le nombre de ligne de celle-ci varie. c'est pourquoi je voudrais créer un bouton qui me mette à taille de ma source sachant que je ne peut pas sélectionner toute la feuille vue que dans mes tdc je groupe mes dates. je suis capable de savoir le numéros de la dernière ligne avec ce code :
Range("A1").select Selection.End(xlDown) l = Selection.Row
Par contre je n'arrive pas créer ma plage source de mon TDC du style Range("A1","BA" & l) J'ai essayer plusieurs code trouver sur le forum mais lorsque je compile il me trouve un erreur à cette ligne.
Set P = Worksheets("données globales").PivotTables(1)
Auriez vous un code pouvant répondre à mon problème ou m'expliquer pourquoi cela ne fonctionne pas?
Je vous remercie d'avance
Yo
Bonjour
La solution peut consister à définir un nom dynamique pour ta plage de
données.
Dans ton cas, par exemple :
Insertion, Nom, Définir
Nom : Donnees
Fait référence à : =INDIRECT("A1:BA" & NBVAL(Feuil1!A:A))
Puis d'utiliser ce nom pour faire référence à la source de ton TCD.
Cordialement
Pascal
"Yoyo" <lemoine2.yohann@laposte.net> a écrit dans le message de news:
1137143081.989249.235590@f14g2000cwb.googlegroups.com...
Bonjour à tous et merci de me lire.
Voilà j'ai plusieurs TDC faisant référence à une source de donnée
se trouvant en feuille("données globales")
cette source se trouve en colonne A à BA sur n ligne.
Comme je met à jour cette base donnée régulièrement le nombre de
ligne de celle-ci varie. c'est pourquoi je voudrais créer un bouton
qui me mette à taille de ma source sachant que je ne peut pas
sélectionner toute la feuille vue que dans mes tdc je groupe mes
dates.
je suis capable de savoir le numéros de la dernière ligne avec ce
code :
Range("A1").select
Selection.End(xlDown)
l = Selection.Row
Par contre je n'arrive pas créer ma plage source de mon TDC du style
Range("A1","BA" & l)
J'ai essayer plusieurs code trouver sur le forum mais lorsque je
compile il me trouve un erreur à cette ligne.
Set P = Worksheets("données globales").PivotTables(1)
Auriez vous un code pouvant répondre à mon problème ou m'expliquer
pourquoi cela ne fonctionne pas?
Bonjour La solution peut consister à définir un nom dynamique pour ta plage de données. Dans ton cas, par exemple : Insertion, Nom, Définir Nom : Donnees Fait référence à : =INDIRECT("A1:BA" & NBVAL(Feuil1!A:A))
Puis d'utiliser ce nom pour faire référence à la source de ton TCD.
Cordialement Pascal
"Yoyo" a écrit dans le message de news:
Bonjour à tous et merci de me lire.
Voilà j'ai plusieurs TDC faisant référence à une source de donnée se trouvant en feuille("données globales") cette source se trouve en colonne A à BA sur n ligne. Comme je met à jour cette base donnée régulièrement le nombre de ligne de celle-ci varie. c'est pourquoi je voudrais créer un bouton qui me mette à taille de ma source sachant que je ne peut pas sélectionner toute la feuille vue que dans mes tdc je groupe mes dates. je suis capable de savoir le numéros de la dernière ligne avec ce code :
Range("A1").select Selection.End(xlDown) l = Selection.Row
Par contre je n'arrive pas créer ma plage source de mon TDC du style Range("A1","BA" & l) J'ai essayer plusieurs code trouver sur le forum mais lorsque je compile il me trouve un erreur à cette ligne.
Set P = Worksheets("données globales").PivotTables(1)
Auriez vous un code pouvant répondre à mon problème ou m'expliquer pourquoi cela ne fonctionne pas?
Je vous remercie d'avance
Yo
Yoyo
Merci Pascal pour ton aide
Je vais tester ta solution elle me semble très bien adapter
Bonne journée Yohann
Merci Pascal pour ton aide
Je vais tester ta solution elle me semble très bien adapter
Je vais tester ta solution elle me semble très bien adapter
Bonne journée Yohann
michdenis
Bonjour Yoyo,
Si tu veux la mise à jour par code et tenir compte du fait que ta plage source de données puisse être redimensionnée, essaie ceci :
'------------------------------------ Sub MiseAjour()
Dim Pt As PivotTable, Adr As String Dim Pi As PivotItem, Pf As PivotField
Application.ScreenUpdating = False With Worksheets("Feuil1") Set rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row) Adr = .Name & "!" & rg.Address Set Pt = Worksheets("Feuil1").PivotTables(1) End With With Pt .ManualUpdate = False .PivotCache.SourceData = Adr .RefreshTable For Each Pf In Pt.PivotFields For Each Pi In Pf.PivotItems If Pi.RecordCount = 0 And _ Not Pi.IsCalculated Then Pi.Delete End If Next Next .ManualUpdate = True .Update End With
End Sub '------------------------------------
Salutations!
"Yoyo" a écrit dans le message de news:
Bonjour à tous et merci de me lire.
Voilà j'ai plusieurs TDC faisant référence à une source de donnée se trouvant en feuille("données globales") cette source se trouve en colonne A à BA sur n ligne. Comme je met à jour cette base donnée régulièrement le nombre de ligne de celle-ci varie. c'est pourquoi je voudrais créer un bouton qui me mette à taille de ma source sachant que je ne peut pas sélectionner toute la feuille vue que dans mes tdc je groupe mes dates. je suis capable de savoir le numéros de la dernière ligne avec ce code :
Range("A1").select Selection.End(xlDown) l = Selection.Row
Par contre je n'arrive pas créer ma plage source de mon TDC du style Range("A1","BA" & l) J'ai essayer plusieurs code trouver sur le forum mais lorsque je compile il me trouve un erreur à cette ligne.
Set P = Worksheets("données globales").PivotTables(1)
Auriez vous un code pouvant répondre à mon problème ou m'expliquer pourquoi cela ne fonctionne pas?
Je vous remercie d'avance
Yo
Bonjour Yoyo,
Si tu veux la mise à jour par code et tenir compte du fait
que ta plage source de données puisse être redimensionnée,
essaie ceci :
'------------------------------------
Sub MiseAjour()
Dim Pt As PivotTable, Adr As String
Dim Pi As PivotItem, Pf As PivotField
Application.ScreenUpdating = False
With Worksheets("Feuil1")
Set rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
Adr = .Name & "!" & rg.Address
Set Pt = Worksheets("Feuil1").PivotTables(1)
End With
With Pt
.ManualUpdate = False
.PivotCache.SourceData = Adr
.RefreshTable
For Each Pf In Pt.PivotFields
For Each Pi In Pf.PivotItems
If Pi.RecordCount = 0 And _
Not Pi.IsCalculated Then
Pi.Delete
End If
Next
Next
.ManualUpdate = True
.Update
End With
End Sub
'------------------------------------
Salutations!
"Yoyo" <lemoine2.yohann@laposte.net> a écrit dans le message de news: 1137143081.989249.235590@f14g2000cwb.googlegroups.com...
Bonjour à tous et merci de me lire.
Voilà j'ai plusieurs TDC faisant référence à une source de donnée
se trouvant en feuille("données globales")
cette source se trouve en colonne A à BA sur n ligne.
Comme je met à jour cette base donnée régulièrement le nombre de
ligne de celle-ci varie. c'est pourquoi je voudrais créer un bouton
qui me mette à taille de ma source sachant que je ne peut pas
sélectionner toute la feuille vue que dans mes tdc je groupe mes
dates.
je suis capable de savoir le numéros de la dernière ligne avec ce
code :
Range("A1").select
Selection.End(xlDown)
l = Selection.Row
Par contre je n'arrive pas créer ma plage source de mon TDC du style
Range("A1","BA" & l)
J'ai essayer plusieurs code trouver sur le forum mais lorsque je
compile il me trouve un erreur à cette ligne.
Set P = Worksheets("données globales").PivotTables(1)
Auriez vous un code pouvant répondre à mon problème ou m'expliquer
pourquoi cela ne fonctionne pas?
Si tu veux la mise à jour par code et tenir compte du fait que ta plage source de données puisse être redimensionnée, essaie ceci :
'------------------------------------ Sub MiseAjour()
Dim Pt As PivotTable, Adr As String Dim Pi As PivotItem, Pf As PivotField
Application.ScreenUpdating = False With Worksheets("Feuil1") Set rg = .Range("A1:B" & .Range("A65536").End(xlUp).Row) Adr = .Name & "!" & rg.Address Set Pt = Worksheets("Feuil1").PivotTables(1) End With With Pt .ManualUpdate = False .PivotCache.SourceData = Adr .RefreshTable For Each Pf In Pt.PivotFields For Each Pi In Pf.PivotItems If Pi.RecordCount = 0 And _ Not Pi.IsCalculated Then Pi.Delete End If Next Next .ManualUpdate = True .Update End With
End Sub '------------------------------------
Salutations!
"Yoyo" a écrit dans le message de news:
Bonjour à tous et merci de me lire.
Voilà j'ai plusieurs TDC faisant référence à une source de donnée se trouvant en feuille("données globales") cette source se trouve en colonne A à BA sur n ligne. Comme je met à jour cette base donnée régulièrement le nombre de ligne de celle-ci varie. c'est pourquoi je voudrais créer un bouton qui me mette à taille de ma source sachant que je ne peut pas sélectionner toute la feuille vue que dans mes tdc je groupe mes dates. je suis capable de savoir le numéros de la dernière ligne avec ce code :
Range("A1").select Selection.End(xlDown) l = Selection.Row
Par contre je n'arrive pas créer ma plage source de mon TDC du style Range("A1","BA" & l) J'ai essayer plusieurs code trouver sur le forum mais lorsque je compile il me trouve un erreur à cette ligne.
Set P = Worksheets("données globales").PivotTables(1)
Auriez vous un code pouvant répondre à mon problème ou m'expliquer pourquoi cela ne fonctionne pas?
Je vous remercie d'avance
Yo
Yoyo
Bonjour michdenis,
Merci d'avoir pris le temps de me r^épondre, je vais tester ton code.
Sinon Pascal définir une zone de nom comme plage de donnée marche bien sauf si je supprime des lignes la plage ne se réduit pas.
Merci à tous les deux pour votre aide
cordialement Yohann
Bonjour michdenis,
Merci d'avoir pris le temps de me r^épondre, je vais tester ton code.
Sinon Pascal définir une zone de nom comme plage de donnée marche
bien sauf si je supprime des lignes la plage ne se réduit pas.