Liaison entre plusieurs Tabeaux dynamique

Le
Sebastien de Vienne
Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite faire 3
tableaux dynamique en appyant sur les tabeaux des onglets A,B et C. Ces
tableaux diposent d'une colonne regroupant les memes informations (comme une
"clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page du
tableau dynamique A, que les champs de page des tableaux dynamiques B et C
recupèrent la meme valeur afin qu'ils soient mis à jour. Ainsi, lorsque je
choisis une valeur dans le tableau A, les tableaux B et C se mettent à jour
suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
cousinhub
Le #4257501
Bonjour, ci-joint un petit exemple.
Dans l'évènement :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim page
Application.ScreenUpdating = False
If Target.Column = 6 Then
page = Sheets("feuil1").[g1]
Sheets("feuil2").PivotTables("Tableau croisé
dynamique4").PivotFields("date"). _
CurrentPage = page
Sheets("feuil3").PivotTables("Tableau croisé
dynamique5").PivotFields("date"). _
CurrentPage = page
End If
Application.ScreenUpdating = True
End Sub

Bonne lecture

Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite faire 3
tableaux dynamique en appyant sur les tabeaux des onglets A,B et C. Ces
tableaux diposent d'une colonne regroupant les memes informations (comme une
"clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page du
tableau dynamique A, que les champs de page des tableaux dynamiques B et C
recupèrent la meme valeur afin qu'ils soient mis à jour. Ainsi, lorsque je
choisis une valeur dans le tableau A, les tableaux B et C se mettent à jour
suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb


cousinhub
Le #4257491
Le fichier :
http://cjoint.com/?dvttzsgDzF




Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite faire 3
tableaux dynamique en appyant sur les tabeaux des onglets A,B et C. Ces
tableaux diposent d'une colonne regroupant les memes informations (comme une
"clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page du
tableau dynamique A, que les champs de page des tableaux dynamiques B et C
recupèrent la meme valeur afin qu'ils soient mis à jour. Ainsi, lorsque je
choisis une valeur dans le tableau A, les tableaux B et C se mettent à jour
suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb


Sebastien de Vienne
Le #4318761
Merci cousinhub !!

Par contre j'essaie d'adapter la macro à mon fichier mais je ne comprends
pas les lignes de programmation !! Peux tu m'expliquer chaque ligne afin que
je puisse l'adapter à mon fichier !!

Merci d'avance !!!

Seb

Private Sub Worksheet_Change(ByVal Target As Range)
Dim page
Application.ScreenUpdating = False
If Target.Column = 6 Then
page = Sheets("feuil1").[g1]
Sheets("feuil2").PivotTables("Tableau croisé
dynamique4").PivotFields("date"). _
CurrentPage = page
Sheets("feuil3").PivotTables("Tableau croisé
dynamique5").PivotFields("date"). _
CurrentPage = page
End If
Application.ScreenUpdating = True
End Sub





Le fichier :
http://cjoint.com/?dvttzsgDzF




Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite faire 3
tableaux dynamique en appyant sur les tabeaux des onglets A,B et C. Ces
tableaux diposent d'une colonne regroupant les memes informations (comme une
"clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page du
tableau dynamique A, que les champs de page des tableaux dynamiques B et C
recupèrent la meme valeur afin qu'ils soient mis à jour. Ainsi, lorsque je
choisis une valeur dans le tableau A, les tableaux B et C se mettent à jour
suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb





Sebastien de Vienne
Le #4318701
Cousinhub,


J'ai compris ton code mais j'ai une petite question :

Mettons que dans le tableau A j'ai comme valeur test1 ; test2, test 3 alors
que dans le tableau B; j'ai uniquement les valeurs test1 et test3.
Lorsque je choisis la valeur test2 dans le champ du page du tableau
dynamique A, excel m'indique n'importe quoi dans le tableau dynamique B vu
que cette valeur n'existe pas dans le tableau B !!!
Est il possible de faire un truc permettant de mettre vide le tableau
dynamique B lorsque la valeur renvoiée par tableau A n'existe pas dans le B
???

Merci CousinHub !!!

Seb


Le fichier :
http://cjoint.com/?dvttzsgDzF




Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite faire 3
tableaux dynamique en appyant sur les tabeaux des onglets A,B et C. Ces
tableaux diposent d'une colonne regroupant les memes informations (comme une
"clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page du
tableau dynamique A, que les champs de page des tableaux dynamiques B et C
recupèrent la meme valeur afin qu'ils soient mis à jour. Ainsi, lorsque je
choisis une valeur dans le tableau A, les tableaux B et C se mettent à jour
suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb





cousinhub
Le #4265901
Bonsoir,
remplace le code par :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim page
Application.ScreenUpdating = False
If Target.Column = 6 Then
page = Sheets("feuil1").[g1]
On Error Resume Next
With Sheets("feuil2")
.Activate
.[A:A].Find(What:=page, LookIn:=xlValues, LookAt:=xlWhole).Select
If Err = 0 Then .PivotTables("Tableau croisé
dynamique4").PivotFields("date"). _
CurrentPage = page
End With
On Error GoTo 0
On Error Resume Next
With Sheets("feuil3")
.Activate
.[A:A].Find(What:=page, LookIn:=xlValues, LookAt:=xlWhole).Select
If Err = 0 Then .PivotTables("Tableau croisé
dynamique5").PivotFields("date"). _
CurrentPage = page
On Error GoTo 0
End With
End If
Application.ScreenUpdating = True
End Sub

Bon courage

Cousinhub,


J'ai compris ton code mais j'ai une petite question :

Mettons que dans le tableau A j'ai comme valeur test1 ; test2, test 3 alors
que dans le tableau B; j'ai uniquement les valeurs test1 et test3.
Lorsque je choisis la valeur test2 dans le champ du page du tableau
dynamique A, excel m'indique n'importe quoi dans le tableau dynamique B vu
que cette valeur n'existe pas dans le tableau B !!!
Est il possible de faire un truc permettant de mettre vide le tableau
dynamique B lorsque la valeur renvoiée par tableau A n'existe pas dans le B
???

Merci CousinHub !!!

Seb


Le fichier :
http://cjoint.com/?dvttzsgDzF



Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite faire 3
tableaux dynamique en appyant sur les tabeaux des onglets A,B et C. Ces
tableaux diposent d'une colonne regroupant les memes informations (comme une
"clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page du
tableau dynamique A, que les champs de page des tableaux dynamiques B et C
recupèrent la meme valeur afin qu'ils soient mis à jour. Ainsi, lorsque je
choisis une valeur dans le tableau A, les tableaux B et C se mettent à jour
suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb






cousinhub
Le #4265611
Re-,
Un petit bug, dans la variable "page" : si tu demandes le champ de page
(Tous) dans ton premier onglet, le code que je viens de t'envoyer ne
fonctionne pas. Pourquoi? peut-être une réponse avec un gourou...;-)
tous les autres champs fonctionnent.....

Tu peux le contourner avec ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim page
Application.ScreenUpdating = False
If Target.Column = 6 Then
page = Sheets("feuil1").[g1]
On Error Resume Next
With Sheets("feuil2")
.Activate
.[A:A].Find(What:=page, LookIn:=xlValues,
LookAt:=xlWhole).Select
If Err = 0 Then
.PivotTables("Tableau croisé
dynamique4").PivotFields("date"). _
CurrentPage = page
Else
.PivotTables("Tableau croisé
dynamique4").PivotFields("date"). _
CurrentPage = "(Tous)"
End If
End With
On Error GoTo 0
On Error Resume Next
With Sheets("feuil3")
.Activate
.[A:A].Find(What:=page, LookIn:=xlValues,
LookAt:=xlWhole).Select
If Err = 0 Then
.PivotTables("Tableau croisé
dynamique5").PivotFields("date"). _
CurrentPage = page
Else
.PivotTables("Tableau croisé
dynamique5").PivotFields("date"). _
CurrentPage = "(Tous)"
End If
On Error GoTo 0
End With
End If
Sheets("feuil1").Activate
Application.ScreenUpdating = True
End Sub

Bonne soirée

Bonsoir,
remplace le code par :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim page
Application.ScreenUpdating = False
If Target.Column = 6 Then
page = Sheets("feuil1").[g1]
On Error Resume Next
With Sheets("feuil2")
.Activate
.[A:A].Find(What:=page, LookIn:=xlValues, LookAt:=xlWhole).Select
If Err = 0 Then .PivotTables("Tableau croisé
dynamique4").PivotFields("date"). _
CurrentPage = page
End With
On Error GoTo 0
On Error Resume Next
With Sheets("feuil3")
.Activate
.[A:A].Find(What:=page, LookIn:=xlValues, LookAt:=xlWhole).Select
If Err = 0 Then .PivotTables("Tableau croisé
dynamique5").PivotFields("date"). _
CurrentPage = page
On Error GoTo 0
End With
End If
Application.ScreenUpdating = True
End Sub

Bon courage

Cousinhub,


J'ai compris ton code mais j'ai une petite question :

Mettons que dans le tableau A j'ai comme valeur test1 ; test2, test 3
alors que dans le tableau B; j'ai uniquement les valeurs test1 et test3.
Lorsque je choisis la valeur test2 dans le champ du page du tableau
dynamique A, excel m'indique n'importe quoi dans le tableau dynamique
B vu que cette valeur n'existe pas dans le tableau B !!! Est il
possible de faire un truc permettant de mettre vide le tableau
dynamique B lorsque la valeur renvoiée par tableau A n'existe pas dans
le B ???

Merci CousinHub !!!

Seb


Le fichier :
http://cjoint.com/?dvttzsgDzF



Bonjour

Je dispose de 3 tableaux dans trois onglets (A,B et C). Je souhaite
faire 3 tableaux dynamique en appyant sur les tabeaux des onglets
A,B et C. Ces tableaux diposent d'une colonne regroupant les memes
informations (comme une "clé" sous Access).

Je souhaite, lorsque je choisis sur une valeur dans le champ de page
du tableau dynamique A, que les champs de page des tableaux
dynamiques B et C recupèrent la meme valeur afin qu'ils soient mis à
jour. Ainsi, lorsque je choisis une valeur dans le tableau A, les
tableaux B et C se mettent à jour suivant cette meme valeur.

J'espère que vous m'aurez compris !!!

Merci d'avance

Seb








Publicité
Poster une réponse
Anonyme