XL 2016 comment lier plusieurs tableaux pour qu'ils se synchronisent

scoubidou35

XLDnaute Occasionnel
Bonjour à tous,

J'aimerais que lorsque je sélectionne une ANNEE dans la feuille sommaire cela me synchronise les feuilles 1 et 2 qui sont des tableaux j'ai créé des segments pour chaque tableau pensant pouvoir les liers et n'en faire qu'un comme avec les TCD mais à priori c'est pas possible....du moins je n'ai pas trouver comment faire.
En plus tout mes tableaux peuvent avoir plus ou moins d'année enregistré.
Si quelqu'un peu à une idée merci....
 

Pièces jointes

  • Classeur1.xlsx
    17.6 KB · Affichages: 16
Solution
Bonjour,
Un filtre en VBA sur la feuille "sommaire" car on ne peut pas passer la valeur d'une cellule dans un filtre personnalisée.
VB:
Const CelluleAnnée = "$D$3"

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = CelluleAnnée Then
        Call FiltreTableau("Feuil1", "Tableau1", Me.Range(CelluleAnnée).Value)
        Call FiltreTableau("Feuil2", "Tableau2", Me.Range(CelluleAnnée).Value)
    End If
End Sub

Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    If Len(Année) > 0 Then
        ThisWorkbook.Worksheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
    Else
        ThisWorkbook.Worksheets(Feuille).ListObjects(Tableau).Range.AutoFilter...

scoubidou35

XLDnaute Occasionnel
Bonsoir goube,

J'ai regardé le fichier mais ce n'est pas exactement ce que j'ai besoins. En fait, je voudrai par exemple qu'en sélectionnant l'année 2018 au niveau de la feuille Sommaire que cela me filtre mes tableaux que se trouve dans mes feuilles (feuil 1 et feuil 2). et que du coup quand je me rends sur la feuille 1 et/ou 2 je ne vois que les données correspondants à l'année préalablement sélectionné dans sommaire.
 

Monptipiton

XLDnaute Nouveau
Bonsoir scoubidou, le forum,

Je me suis un peu amusé. A ma connaissance, impossible de lier les TCD à des actions utilisables en VBA. Par contre l'inverse est vraie. Je pense que mon code est suffisament explicite pour pouvoir s'adapter, si besoin de précision ou d'explication demander ici ^^,

En espérant que le fichier joint correspond mieux au besoin.

@+
 

Pièces jointes

  • Classeur1.xlsm
    31.3 KB · Affichages: 11

Dudu2

XLDnaute Barbatruc
Bonjour,
Un filtre en VBA sur la feuille "sommaire" car on ne peut pas passer la valeur d'une cellule dans un filtre personnalisée.
VB:
Const CelluleAnnée = "$D$3"

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = CelluleAnnée Then
        Call FiltreTableau("Feuil1", "Tableau1", Me.Range(CelluleAnnée).Value)
        Call FiltreTableau("Feuil2", "Tableau2", Me.Range(CelluleAnnée).Value)
    End If
End Sub

Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    If Len(Année) > 0 Then
        ThisWorkbook.Worksheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
    Else
        ThisWorkbook.Worksheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1
    End If
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    20.4 KB · Affichages: 10

scoubidou35

XLDnaute Occasionnel
Bonjour à tous,
Un grand merci à Monptipiton et à Dudu2 pour vos propositions et pour le temps passé.
J'ai regardé les 2 méthodes et elles s'est exactement ce que je veux. Je vais maintenant regarder laquelle je vais intégrer dans mon fichier final.
En tout cas merci encore.
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 094
Messages
2 085 240
Membres
102 832
dernier inscrit
kirale