Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

actualisation de tableau croisé dynamique

6 réponses
Avatar
user
bonjour,

je cherche une solution via vba pour actualiser un tableau croisé dynamique.
j'ai en effet des données qui évoluent au fur et à mesure, cependant le
tableau croisé dynamique lui n'évolue pas.
je suis obligé de revenir dans l'assistant à chaque fois pour redéfinir où
se trouve ma plage de données.

merci de votre aide

6 réponses

Avatar
John Fuss
Pense à utiliser l'enregistreur, il te donnera les éléments de réponses dont
tu as besoin

John

"user" a écrit dans le message de
news:%
bonjour,

je cherche une solution via vba pour actualiser un tableau croisé
dynamique.

j'ai en effet des données qui évoluent au fur et à mesure, cependant le
tableau croisé dynamique lui n'évolue pas.
je suis obligé de revenir dans l'assistant à chaque fois pour redéfinir où
se trouve ma plage de données.

merci de votre aide




Avatar
papou
Bonjour
ActiveSheet.PivotTables("Tableau croisé dynamique1").RefreshTable
Cordialement
Pascal

"user" a écrit dans le message de
news:%
bonjour,

je cherche une solution via vba pour actualiser un tableau croisé
dynamique.

j'ai en effet des données qui évoluent au fur et à mesure, cependant le
tableau croisé dynamique lui n'évolue pas.
je suis obligé de revenir dans l'assistant à chaque fois pour redéfinir où
se trouve ma plage de données.

merci de votre aide




Avatar
AV
Exemple (à adapter) avec ta BD sur la plage A1:Kx
En ligne 1 les étiquettes de colonnes
Insertion > Nom > Définir > "tablo" > fait réf à :
=NBVAL(DECALER($A$1;;;NBVAL(A:A);NBVAL($A$1:$K$1)))
Tu fais ton TCD en utilisant comme plage du tableau la plage nommée "tablo"
Puis tu mets ça dans le module de la feuille :

Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Cells(y, 1).Resize(1, 11)) = 11 Then _
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub

Le tableau sera actualisé auto après la saisie des 11 champs

AV

"user" a écrit dans le message news:
#
bonjour,

je cherche une solution via vba pour actualiser un tableau croisé dynamique.
j'ai en effet des données qui évoluent au fur et à mesure, cependant le
tableau croisé dynamique lui n'évolue pas.
je suis obligé de revenir dans l'assistant à chaque fois pour redéfinir où
se trouve ma plage de données.

merci de votre aide




Avatar
user
Merci alain de ton aide, mais je m'y prend mal et ça ne marche pas...
Je vais essayer de donner plus de détails:
j'ai ma feuille nommée "fabrication" qui contient toutes mes opérations
machines.
sur la ligne 1 les étiquettes de colonnes de A1 à W1
mes lignes contiennnent les opérations machines.
soit on ôte les opérations terminées,
soit on ajoute de nouvelles opérations

sur ma feuille nommée "plan_charge" j'ai mon TCD nommé "plan_charge "que
l'on actualisait en fonction des changements sur les lignes de la feuille
"fabrication" aussi bien en ajout qu'en retrait. donc à partir du moment où
l'on sortait une ligne minimum ou bien on ajoutait une ligne minimum, on
actualisait...

Suite à ta solution, j'ai l'impression que je m'y prend mal pour définir un
nom. que dois je selectionner lorsque j'ajoute ce nom.? uniquement la
première ligne de a1 à w1 où un certain nombre de lignes de mon TCD qui à
cet instant en possède 599.

De plus, lors de la création du TCD, cela ne me prend pas le nom de champ.
cela m'indique réference invalide.

merci de m'indiquer les petits trucs manquant pour cloturer ce problème.

vincent


"AV" a écrit dans le message de
news:bljfoh$n3t$
Exemple (à adapter) avec ta BD sur la plage A1:Kx
En ligne 1 les étiquettes de colonnes
Insertion > Nom > Définir > "tablo" > fait réf à :
=NBVAL(DECALER($A$1;;;NBVAL(A:A);NBVAL($A$1:$K$1)))
Tu fais ton TCD en utilisant comme plage du tableau la plage nommée
"tablo"

Puis tu mets ça dans le module de la feuille :

Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Cells(y, 1).Resize(1, 11)) = 11 Then _
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub

Le tableau sera actualisé auto après la saisie des 11 champs

AV

"user" a écrit dans le message news:
#
bonjour,

je cherche une solution via vba pour actualiser un tableau croisé
dynamique.


j'ai en effet des données qui évoluent au fur et à mesure, cependant le
tableau croisé dynamique lui n'évolue pas.
je suis obligé de revenir dans l'assistant à chaque fois pour redéfinir



se trouve ma plage de données.

merci de votre aide








Avatar
AV
Suite à ta solution, j'ai l'impression que je m'y prend mal pour définir un
nom. que dois je selectionner lorsque j'ajoute ce nom.? uniquement la
première ligne de a1 à w1 où un certain nombre de lignes de mon TCD qui à
cet instant en possède 599.


C'est le tableau source du TCD qu'il faut sélectionner (A1:W559) avant de le
nommer et ensuite démarrer la construction de ton TCD en utilisant le nom comme
plage de réf.

Si tu veux un exemple, demande en bal perso
AV

Avatar
excel45
AV a écrit le 03/10/2003 à 19h06 :
Suite à ta solution, j'ai l'impression que je m'y prend mal pour
définir un
nom. que dois je selectionner lorsque j'ajoute ce nom.? uniquement la
première ligne de a1 à w1 où un certain nombre de lignes
de mon TCD qui à
cet instant en possède 599.



C'est le tableau source du TCD qu'il faut sélectionner (A1:W559) avant
de le
nommer et ensuite démarrer la construction de ton TCD en utilisant le
nom comme
plage de réf.

Si tu veux un exemple, demande en bal perso
AV


Bonjour toute le monde. Il est vrai que je recherche exactement la même chose, mais j'ai le même problème que AV.

Quelqu'un pourrais t-il m'aider ?

Excel45