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.
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
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
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.
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 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
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.
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
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
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.
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
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,
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'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
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
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.
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
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
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.
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.