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

Liaison entre plusieurs Tabeaux dynamique

6 réponses
Avatar
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

6 réponses

Avatar
cousinhub
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


Avatar
cousinhub
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


Avatar
Sebastien de Vienne
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





Avatar
Sebastien de Vienne
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





Avatar
cousinhub
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






Avatar
cousinhub
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